在jquery中解析json最有效的方法是什么?

时间:2010-03-26 11:04:12

标签: jquery json parsing

我正在使用json数据并通过jquery迭代它并显示我的结果......

使用var jsonObj = JSON.parse(HfJsonValue);适用于firefox但不适用于IE6 ....

HfjsonValue是一个从我的aspx code behind page返回的json字符串...所以我不使用ajax ...任何建议让我的json更好地解析并跨浏览器...

1 个答案:

答案 0 :(得分:6)

可能是这样的:http://api.jquery.com/jQuery.parseJSON/

var obj = jQuery.parseJSON('{"name":"John"}');
alert( obj.name === "John" );

......呃,当然,只有你想使用jQuery 1.4。 :)我认为JSON内置功能对于实际尝试实现标准的浏览器来说是一个相当新的补充。

修改

作为后续操作,您可以通过调用其上的“eval”函数将JSON字符串转换为JavaScript对象:

var obj = eval('({"name":"John"})');
alert( obj.name === "John" );

这应该与上面的jQuery parseJSON给出相同的结果。不同之处在于JavaScript“eval”函数将运行内部的任何代码,因此如果JSON的源是外部站点或其他不受信任的源,则该源可能会将恶意代码注入到您希望仅包含JSON的字符串中。

我认为有一个新的建议是浏览器实现内置的JSON解析,这将在字符串上强制执行JavaScript对象文字格式,这将提供“eval”的安全替代。

编辑2

从未真正使用eval来处理JSON,我错误地认为我的示例会起作用。现在通过添加周围的牙箍来修复它。