用jquery解析安全的json?

我正在使用json与json。 我的客户端页面生成json,我存储在我的服务器上。 然后,客户端可以稍后将json取回,解析并显示它。

由于我的客户正在生成json,它可能不安全。 我认为jquery在内部使用eval()。 真的吗? 有没有办法在可用的浏览器中使用本机json解析器,否则回退到手动解析? 我是jquery的新手,所以我不知道在哪里插入自己的解析代码。 我做的事情如下:

$.ajax({ url: 'myservlet', type: 'GET', dataType: 'json', timeout: 1000, error: function(){ alert('Error loading JSON'); }, success: function(json){ alert("It worked!: " + json.name + ", " + json.grade); } }); 

所以在success()方法中,json对象已经为我解析了。 有没有办法先将它作为原始字符串捕获? 然后我可以决定是使用本机解析器还是手动解析(希望有一个jquery插件…)。

我正在阅读的文章都来自不同的年份,所以我不知道jquery是否已经为json放弃了eval(),

谢谢

最新版本有jQuery.parseJSON 。 它将在拥有它的浏览器中使用本机JSON。 对于较旧的,它将进行正则表达式健全性检查,然后使用新的Function()(基本上是eval)。

由于您将’json’指定为dataType,因此它将在此处使用parseJSON。 这是在内部httpData函数中处理的