本文实例讲述了JSON字符串和JSON对象相互转化的方法。分享给大家供大家参考,具体如下:
将json字符串转换为json对象的方法。在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键
例如:
JSON字符串:
JSON对象:
一、JSON字符串转换为JSON对象
要使用上面的str1,必须使用下面的方法先转化为JSON对象:
或者
或者
或者
然后,就可以这样读取:
特别注意:如果obj本来就是一个JSON对象,那么使用eval()函数转换后(哪怕是多次转换)还是JSON对象,但是使用parseJSON()函数处理后会有问题(抛出语法异常)。
二、可以使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串。
例如:
或者
总结:
上面我们也看到了在进行类型转化的时候总的来说有两种,一种是JavaScript自带的解析器,而另一种就是JSON解析器,其中javascript解析器可以编译执行任何的javascript代码所以这里隐藏了一个潜在的安全问题而JSON解析器只能识别JSON文本,而不会编译脚本所以比较安全,而且JSON解析器的速度更快。
上面的几个方法中,除了eval()函数是js自带的之外,其他的几个方法都来自json.js包。新版本的JSON 修改了 API,将 JSON.stringify() 和 JSON.parse() 两个方法都注入到了 Javascript的内建对象里面,前者变成了 Object.toJSONString(),而后者变成了String.parseJSON()。如果提示找不到toJSONString()和parseJSON()方法,则说明您的json包版本太低。
PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:
代码检验、检验、美化、格式化工具:
JSON
在线格式化工具:json
代码在线格式化/美化/压缩/编辑/转换工具:更多关于JavaScript相关内容可查看本站专题:《》、《》、《》、《》、《》及《》
希望本文所述对大家JavaScript程序设计有所帮助。