为什么我们需要像json2这样的js库来处理json?

时间:2013-05-07 15:04:10

标签: javascript

我认为javascript可以直接处理json,为什么我们需要像json2这样的库?

<script src="http://ajax.cdnjs.com/ajax/libs/json2/20110223/json2.js"></script>

4 个答案:

答案 0 :(得分:8)

因为某些浏览器没有允许您解析和字符串化json的JSON对象

答案 1 :(得分:5)

这是浏览器支持的最新成员。请参阅此处的矩阵,了解哪些浏览器支持它: http://caniuse.com/json

答案 2 :(得分:1)

Internet Explorer 8 +,Firefox 3.1 +,Safari 4 +,Chrome 3+和Opera 10.5+支持本机JSON解析。

对于所有其他浏览器说IE6,如果你想解析JSON,你必须使用这种库。

答案 3 :(得分:0)

对于较旧的浏览器支持,即它是“垫片”或“polyfill”,当然较新的浏览器具有原生JSON支持。

如果您要将JSON字符串转换为Javascript对象,那么您不需要它,您可以这样做

var obj = eval ("(" + txt + ")");

注意这个论点

   eval是邪恶的

     

eval函数(及其亲属,Function,setTimeout和   setInterval)提供对JavaScript编译器的访问。这是   有时是必要的,但在大多数情况下,它表明存在   编码非常糟糕。 eval函数是最被滥用的特性   的JavaScript。

但是库有一个方法可以让你从Javascript对象转换为JSON字符串,并执行其他检查并在'eval'等附近添加一些安全性