数组类型Json和数组对象类型Json,无论是从名字,还是从代码的输出格式来看,长得都非常相像,但是在实战使用中,使用的方式,和使用的地方都不尽相同,通常我们使用的json格式数据都非常简单,就是一个键对应一个值,非常简单的一对一关系,复杂点的关系也就是层层嵌套数据,还没有涉及到具体的数据类型操作。
先来说说Json对象:也是一个键对应一个值,使用的是大括号{ },如:{key:value}
再来说说Json数组:同样一个键对应一个值,但是用的是中括号来声明[],如:['key'=>'val','key1'=>'val1']
JSON数组遍历
JSON数组的操作
1、定义 var josnArry=[];
2、添加 jsonArry.push(jsonObj);
3、删除 delete jsonArry[0]; splice(index,length):
4.循环访问数组
JSON对象遍历
myJson = {"name":"ji", "password":"123"}; for(var p in myJson){//遍历json对象的每个key/value对,p为key alert(p + " " + myJson[p]); }
字符串和json对象和json对象数组相互转换
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']);
JSON.stringify(obj) 将JSON对象转为字符串。
JSON.parse(string) 将字符串转为JSON对象格式。