资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

javascript实现json字符串与对象转换的方法

这篇文章主要介绍“javascript实现json字符串与对象转换的方法”,在日常操作中,相信很多人在javascript实现json字符串与对象转换的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”javascript实现json字符串与对象转换的方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都创新互联致力于互联网网站建设与网站营销,提供成都网站制作、做网站、网站开发、seo优化、网站排名、互联网营销、小程序开发、公众号商城、等建站开发,成都创新互联网站建设策划专家,为不同类型的客户提供良好的互联网应用定制解决方案,帮助客户在新的全球化互联网环境中保持优势。

javascript实现json字符串与对象转换的方法:1、json转换为对象,代码为【var obj = eval('(' + str + ')')】;2、对象转成json,代码为【var str=obj.toJSONString()】。

javascript实现json字符串与对象转换的方法

本教程操作环境:windows7系统、javascript1.8.5版,DELL G3电脑。

javascript实现json字符串与对象转换的方法:

方法一:json.js实现json与对象相互转换

为了方便地处理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实现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

到此,关于“javascript实现json字符串与对象转换的方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


分享名称:javascript实现json字符串与对象转换的方法
浏览路径:http://cdkjz.cn/article/gpjscj.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220