标签:json与对象转换 对象转json串 jquery json转成对象 javascript
我们知道,如果在java中json对象与java对象的转换很简单就能实现,利用阿里巴巴的fastjson或者jackjson轻松实现,或者利用json包中的net包中的工具也可以实现,这里就不再讲,我们讲讲在js中对象与json字符串之间怎么相互转换,有时候不仅处理业务上需要这样的转化,而且你灵活运用的话,调试前台的时候很容易,比如一个页面无法跟踪这个页面的js过程,alert又是对象,输出[object]等,就是不知道自己想知道的那个js对象里存的啥数据,这时候利用下边我讲述的2种方法转成json字符串再alert就知道这个对象的各个属性和值了(不过console.log()和直接写入debugger;能起到相同调试的作用)别小看这一点,当你在特定的项目里山穷水尽无法调试对象的时候,这个可是“救命”的法儿,在这就把我的经验分享给大家了。好了,让我们看看以下两种转换方法吧。
为了方便地处理JSON数据,JSON提供了json.js包,json.js免费下载地址。
json转换为对象
//json转换为对象 var obj = eval('(' + str + ')'); 或者 var obj = str.parseJSON(); //json字符串转换为对象 或者 var obj = JSON.parse(str); //json字符串转换为对象
注意:如果obj本来就是一个JSON对象,那么运用 eval()函数转换后(哪怕是多次转换)还是JSON对象,但是运用 parseJSON()函数处理后会有疑问(抛出语法异常)。
对象转成json
//对象转成json 可以运用 toJSONString()或者JSON.stringify()将JSON对象转化为JSON字符串。 var str=obj.toJSONString(); //将对象转成json 或者 var last=JSON.stringify(obj); //将对象转成json
以上,除了eval()函数是js自带的之外,其他的多个要领都来自json.js包。新版本的 JSON 修改了 API,将 JSON.stringify() 和 JSON.parse() 两个函数都注入到了 Javascript 的内建对象里面,前者变成了 Object.toJSONString(),而后者变成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON(),则说明您的json包版本太低。
jQuery.json 是 jQuery 的一个插件,可轻松实现对象和 JSON 字符串之间的转换。可序列化 JavaScript 对象、数值、字符串和数组到 JSON 字符串,同时可转换 JSON 字符串到 JavaScript,免费下载地址。
对象转成json
//对象转成json var thing = {plugin: 'jquery-json', version: 2.3};//js对象 var str = $.toJSON(thing);//转换为json,结果: '{"plugin":"jquery-json","version":2.3}'
json转成对象
//json转成对象 var obj= $.evalJSON(str); var name=obj.plugin;//js对象.属性,结果: "jquery-json" var version =obj.version;//结果: 2.3
以上即为javasript中对象与json串之间转换的总结。
转载请注明—作者:Java我人生(陈磊兴) 原文出处:http://blog.csdn.net/chenleixing/article/details/45331003
json字符串与对象的相互转换-javascript/jQuery
标签:json与对象转换 对象转json串 jquery json转成对象 javascript
原文地址:http://blog.csdn.net/chenleixing/article/details/45331003