一 json字符串转成对象
//首先创建字符串
var str = '[{ "name": "cxh", "sex": "man" }]';
//调用eval函数转成对象,
(1) var obj =eval('(' + str + ')');
alert(obj[0].name);//输出 cxh
或者
//与上面的等价
eval("var ooo="+str)
alert(ooo[0].name);//输出 cxh
(2)直接使用JSON对象转换,JSON对象有些浏览器可能不支持,本人使用的chrome 版本 49.0.2623.87 (64-bit) 是支持的
var obj3 = JSON.parse(str); //由JSON字符串转换为JSON对象
alert(obj3[0].name);
(3) 调用字符串的parseJSON转换 ,不过我使用chrome版本不支持
var obj2 = str.parseJSON(); //由JSON字符串转换为JSON对象
alert(obj2.name);
(二) 对象转换成json字符串
//创建数组对象
var objJ = [{ "name": "cxh", "sex": "man" }];
objJ.push({ "name": "kzw", "sex": "boy" });
var last=JSON.stringify(objJ); //将JSON对象转化为JSON字符
alert(last); // 打印json字符串
//我的版本chorme 还是没有没有兼容
var last=objJ.toJSONString(); //将JSON对象转化为JSON字符
alert(last); //[{"name":"cxh","sex":"man"},{"name":"kzw","sex":"boy"}]
构造函数创建对象
var objoC = function(){
this.school="yizhong";
this.han=function(){
// JSON.stringify(objo) 在chrome中会忽略函数,最好不要写函数
}
}
var objo=new objoC();
objo.sex="boy"
objo.age="18"
var lasto=JSON.stringify(objo); //将JSON对象转化为JSON字符
alert(lasto);//打印结果 {"school":"yizhong","sex":"boy","age":"18"}