我从Windows 7小工具中提取一些外部JSON数据,这基本上是在具有高安全性权限的Internet Explorer下运行的一段JavaScript。因此,我想确保JSON格式正确并且不是恶意的。
这样做的好方法是什么?
答案 0 :(得分:2)
JSON是JavaScript。因此,您可以像验证JavaScript一样静态验证JSON。您担心通常可用于验证JavaScript的eval
方法,并且您非常明智地避免使用此方法。如果它是恶意的并且你执行验证,那么你已经搞砸了。 JSLint是一个很好的工具。有关如何“离线”使用此实用程序的信息,请参阅Stack Overflow问题 Is JSLint available for offline use? 。
另一种方法是使用json2.js
。此方法正确解析包含的JSON
功能,所以要注意这个警告。
答案 1 :(得分:1)
使用JSON.parse(jsonString);
。这将构建数组和对象,但不会在JSON中运行任何代码。要支持没有HTML5 JSON对象的旧浏览器,请使用json2.js,它通过在eval()
JSON之前检查无效数据,使用相同的API提供相同的保护。