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方法。能够用于遍历数据。