这篇文章主要介绍了 JavaScript 中解析 JSON 数据的三种方法, 本文讲解了 eval() 方法、new Function 方法、JSON.parse() 方法等三种方法, 需要的朋友可以参考下
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
概述
现在 JSON 格式在 web 开发中越来越受重视, 特别是在使用 ajax 开发项目的过程中, 经常需要将 json 格式的字符串返回到前端,前端解析成 JS 对象(JSON )。
ECMA-262(E3) 中没有将 JSON 概念写到标准中,还好在 ECMA-262(E5) 中 JSON 的概念被正式引入了,包括全局的 JSON 对象和 Date 的 toJSON 方法。
解析 JSON 数据的三种方法
eval() 方法
解析 JSON 数据的最常用方法是使用 javascript 的 eval() 方法,代码如下:
- function toJson(str){
- var json = eval('(' + str + ')');
- return json;
- }
会在浏览器原生支持 JSON.parse 的时候选用原生版本,而且它跟 ES5 是 API 兼容的。在 ES5 还没完全普及的现状下,John Resig 大神推荐用 json2.js 主要是为了现在就能用跟 ES5 兼容的 API,日后能平滑过渡到 ES5——只要去掉一个 import 就换过来了。
这种方法只支持 IE8/Firefox3.5+/Chrome4/Safari4/Opera10 以上版本, 这些浏览器都已经接近 W3C 标准,默认实现了 toJSON 方法。
该方法存在性能和安全方面的问题,不建议使用。
来源: