首页 > Web开发 > 详细

js 中 json对象 与 json字符串 间相互转换

时间:2015-10-21 18:57:22      阅读:270      评论:0      收藏:0      [点我收藏+]

在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键

JSON字符串:

var str1 = ‘{ "name": "cxh", "sex": "man" }‘;

注意:单引号写在{}外,每个属性名都必须用双引号,否则会抛出异常。


JSON对象: var str2 = { "name": "cxh", "sex": "man" };

字符串转对象
json_object = JSON.parse(str1);

json_object = str1.parseJSON();
json_object = eval("(" + str1 + ")");
jquery方法
json_object = $.parseJSON(str1);  
json_object为json对象。


例如:



一、JSON字符串转换为JSON对象

要使用上面的str1,必须使用下面的方法先转化为JSON对象:

//由JSON字符串转换为JSON对象

var obj = eval(‘(‘ + str1 + ‘)‘);

var obj = JSON.parse(str1); 演变为 var obj = str1.parseJSON(); //由JSON字符串转换为JSON对象


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

二、可以使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串。

例如:

var last=JSON.stringify(obj); 演变为 var last=obj.toJSONString(); //将JSON对象转化为JSON字符

注意:

上面的几个方法中,除了eval()函数是js自带的之外,其他的几个方法都来自json.js包。新版本的 JSON 修改了 API,将 JSON.stringify() 和 JSON.parse()
两个方法都注入到了 Javascript 的内建对象里面,前者变成了 Object.toJSONString(),而后者变成了 String.parseJSON()。
如果提示找不到toJSONString()和parseJSON()方法,则说明您的json包版本太低。

js 中 json对象 与 json字符串 间相互转换

原文:http://www.cnblogs.com/Life-Record/p/4898585.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!