json字符串,json对象,json数组对象,json数组类型字符串的区别

1.json类型的字符串转化为json对象

var jsonString='{"name":"张三","age":"18"}'//json类型的字符串
var jsonObj=JSON.parse(jsonString);//json类型的字符串转化为json对象
alert(jsonObj);//[object Object]
alert(jsonObj.name);//张三

2.json对象转化为json类型的字符串

var jsonString=JSON.stringify(jsonObj)//json对象转化为json类型的字符串
alert(jsonString);//{"name":"张三","age":"18"}//json字符串不可以直接取值,要转化为json对象才可以
var jsonObj = eval('(' +jsonString+ ')');//第一种
var jsonObj = JSON.parseJSON(jsonString);//第二种
alert(jsonObj.name)//张三
或者alert(jsonObj["name"])//张三

 

ps:如果obj本来就是一个JSON对象,那么运用 eval()函数转换后(哪怕是多次转换)还是JSON对象,但是运用 parseJSON()函数处理后会有疑问(抛出语法异常)。

 

3.json数组类型字符串转json对象

var jsonArray='[{"name":"张三","age":"18"},{"name":"张三","age":"19"}]'; //json数组类型字符串
alert(jsonArray);//[{"name":"张三","age":"18"},{"name":"张三","age":"19"}]
var jsonArrayToObject=JSON.parse(jsonArray);//json数组类型的字符串转json对象
alert(jsonArrayToObject);//[object Object],[object Object]
for(var i=0;i<jsonArrayToObject.length;i++){  
  alert(jsonArrayToObject[i].age)//18,19

}

4.json数组类型的对象

var jsonArrayObj=[{"name":"张三","age":"18"},{"name":"张三","age":"19"}];//json数组类型对象
alert(jsonArrayObj)//[object Object],[object Object]
for(var i=0;i<jsonArrayObj.length;i++){
    alert(jsonArrayObj[i].age)//18,19第一种方式
    alert(jsonArrayObj[i]["age"])//18,19第二钟方式
}

 

posted @ 2018-05-08 15:35  橘子和西红柿  阅读(255)  评论(0)    收藏  举报