js数组如何添加json数据及js数组与json的区别
JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,JSON是JavaScript原生数据格式。
下面给大家介绍js数组添加json数据的两种方式。
//第一种方式
personInfo :[], for(vari=0;i<_STAGE.passengerInfoArray.length;i++){ varname=_STAGE.passengerInfoArray[i]; varperson={v:name,text:name}; this.personInfo.push(person); }
//第二种方式
varpassengerInfo={}; passengerInfo.psgTypeDesc=psgTypeDesc; passengerInfo.flightPrice=flightPrice; _STAGE.passengerInfoArray.push(passengerInfo);
js数组与json的区别
一,数组
1.定义一维数组:vars1=newArray();
s1=[1,2,3,4]或者s1[0]=1,s1[1]=2,s1[3]=3,s1[4]=4;
alert(s1[0]);
结果为1;
2,,定义二维素组:vars1=newArray();
vars1=[[3,1],[2,3,4],3,[4,5,6,7,8]];
alert(s1[1][0]);
结果为2;
二,定义json对象
1,json对象
varstatus_process={ "name5":'闲置期', "name1":'播种期', "name2":'苗期', "name3":'生长期', "name4":'采收期' } alert(status_process);
结果为:Object:Object;
2,json字符串
所谓json字符串,是指该字符串变量的值与json的格式相同,但是不是json对象,比如:
vars1="{"; vars2="'name5':'闲置期','name1':'播种期','name2':'苗期','name3':'生长期','name4':'采收期'"; vars3="}"; varstatus_process=s1+s2+s3;
虽然status_process的值符合json对象的格式,但是它不是对象,只是一个字符串(是拼凑出来的);
将字符串转换为json对象使用函数eval,eval("("+status_process+")");
结论:从后台传入到前台的是json字符串,不是真正的json对象,因此需要使用eval函数转换。
3,json对象的使用
varstatus_process={ name5:'闲置期', name1:'播种期', name2:'苗期', name3:'生长期', name4:'采收期' }; alert(status_process["name5"]); alert(status_process.name5);
两个都为:闲置期
4,json二维对象
varstatus_process={ name5:{name3:'空闲闲置期'}, name1:'播种期', name2:'苗期', name3:'生长期', name4:'采收期' }; alert(status_process["name5"]["name3"]); alert(status_process.name5.name3);
结果都为:'空闲闲置期'