JSON(JavaScript Object Notation )是一種輕量級的數據交換格式,采用完全獨立於語言的文本格式,JSON是JavaScript原生數據格式。
下面給大家介紹js數組添加json數據的兩種方式。
// 第一種方式
personInfo : [], for(var i = 0; i < _STAGE.passengerInfoArray.length; i++){ var name = _STAGE.passengerInfoArray[i]; var person = {v:name, text:name}; this.personInfo.push(person); }
// 第二種方式
var passengerInfo = {}; passengerInfo.psgTypeDesc = psgTypeDesc; passengerInfo.flightPrice = flightPrice; _STAGE.passengerInfoArray.push(passengerInfo);
js數組與 json 的區別
一,數組
1. 定義一維數組:var s1=new Array();
s1=[1,2,3,4]或者s1[0]=1,s1[1]=2,s1[3]=3,s1[4]=4;
alert(s1[0]);
結果為1;
2,,定義二維素組:var s1=new Array();
var s1=[[3,1],[2,3,4],3,[4,5,6,7,8]];
alert(s1[1][0]);
結果為2;
二,定義json對象
1,json對象
var status_process = { " name5" : '閒置期', "name1" : '播種期', "name2" : '苗期', "name3" : '生長期', "name4" : '采收期' } alert(status_process);
結果為:Object:Object;
2,json字符串
所謂json字符串,是指該字符串變量的值與json的格式相同,但是不是json對象,比如:
var s1="{"; var s2 = " 'name5' : '閒置期', 'name1' : '播種期','name2' : '苗期','name3' : '生長期','name4' : '采收期'"; var s3="}"; var status_process=s1+s2 +s3;
雖然status_process的值符合json對象的格式,但是它不是對象,只是一個字符串(是拼湊出來的);
將字符串轉換為json對象使用函數eval,eval("(" + status_process+ ")");
結論:從後台傳入到前台的是json字符串,不是真正的json對象,因此需要使用eval函數轉換。
3,json對象的使用
var status_process = { name5 : '閒置期', name1 : '播種期', name2 : '苗期', name3 : '生長期', name4 : '采收期' }; alert(status_process["name5"]); alert(status_process.name5);
兩個都為:閒置期
4,json二維對象
var status_process = { name5 : {name3:'空閒閒置期'}, name1 : '播種期', name2 : '苗期', name3 : '生長期', name4 : '采收期' }; alert(status_process["name5"]["name3"]); alert(status_process.name5.name3);
結果都為:'空閒閒置期'