JSON數組,JSON對象,數組的區別與基本操做整理javascript
JSON 語法是 javascript 對象表示語法的子集。 數據在名稱/值對中 數據由逗號分隔 花括號保存對象 方括號保存數組
JSON 數據的書寫格式是:名稱/值對。 名稱/值對組合中的名稱寫在前面(在雙引號中),值對寫在後面(一樣在雙引號中),中間用冒號隔開: "firstName":"John"
JSON 值能夠是: 數字(整數或浮點數) 字符串(在雙引號中) 邏輯值(true 或 false) 數組(在方括號中) 對象(在花括號中) null
JSON正常就是由對象和數組組成,對象使用對象的方法來進行操做。數組使用數組的方法來進行操做。html
var ourcountry=[["北京市"],["上海市"],["合肥市","蕪湖市","蚌埠市"]]; // 數組 alert(ourcountry[2][1]);
var status_process = { " name5" : '閒置期', "name1" : '播種期', "name2" : '苗期', "name3" : '生長期', "name4" : '採收期' } alert(status_process["name5"]); alert(status_process.name5); // 兩個都爲:閒置期
所謂json字符串,是指該字符串變量的值與json的格式相同,可是不是json對象,好比:java
var s1="{"; var s2 = " 'name5' : '閒置期', 'name1' : '播種期','name2' : '苗期','name3' : '生長期','name4' : '採收期'"; var s3="}"; var status_process=s1+s2+s3;
packJson = [ {"name":"zhang", "password":"123"}, {"name":"li", "password":"456"} ]; for(var p in packJson){//遍歷json數組時,這麼寫p爲索引,0,1 alert(packJson[p].name + " " + packJson[p].password); } // 或者 for(var i = 0; i < packJson.length; i++){ alert(packJson[i].name + " " + packJson[i].password); }
1.定義jquery
var josnArry=[];
2.添加json
jsonArry.push(jsonObj);
3.刪除數組
delete jsonArry[0]; splice(index,length):
4.循環訪問數組spa
a.jquerycode
$.each(jsonArry,function(index,item){ var userId=item.userId; });
b.通常方式htm
for(var i=0;i<jsonArry.length;i++) { var userId=jsonArry[i].userId; }
c.特殊方法對象
for(var item in jsonArry) { var userId=jsonArry[item].userId;//注意:此處的item不是數組項,而是數組項的索引 }
myJson = {"name":"ji", "password":"123"}; for(var p in myJson){//遍歷json對象的每一個key/value對,p爲key alert(p + " " + myJson[p]); }
var jsonStr = "{\"userId\":\"001\"}"; // json對象字符串 var jsonArryStr = "[{\"userId\":\"001\"},{\"userId\":\"002\"}]"; // json數組字符串 var jsonObj = JSON.parse(jsonStr); // 字符串轉爲json對象 var jsonArry = JSON.parse(jsonArryStr); // 字符串轉爲json數組 var jsonStr = JSON.stringify(jsonObj); // json對象轉爲字符串 var jsonArryStr=JSON.stringify(jsonArry);// json數組轉爲字符串 alert(jsonStr); alert(jsonArryStr); alert(jsonObj.userId); alert(jsonArry[0]['userId']);
tips:
只有數組或者json數組才能夠使用length方法。json對象使用length方法無效。
若是json對象的子元素是數組或者json數組,也能夠使用length方法。能夠用於遍歷數據。