我正在使用json数据并通过jquery迭代它并显示我的结果......
使用var jsonObj = JSON.parse(HfJsonValue);
适用于firefox
但不适用于IE6
....
HfjsonValue
是一个从我的aspx code behind page
返回的json字符串...所以我不使用ajax ...任何建议让我的json更好地解析并跨浏览器...
答案 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,我错误地认为我的示例会起作用。现在通过添加周围的牙箍来修复它。