这可能听起来很愚蠢,但我无法弄清楚发生了什么,并且它开始成为一个大问题。
我正在开发一个 .Net Web 应用程序,该应用程序在其他 JS 库中使用 JSON(不是 json2)。在某个代理中,使用函数 JSON.eval()。奇怪的是,这个方法在我们测试团队成员的计算机中似乎没有定义。在我的计算机上(与她运行相同的服务器)我有以下 JSON 对象:
JSON
{
copyright : "(c)2005 JSON.org",
license : ...
stringify : ...
eval : ...
parse : ...
}
在有问题的 PC(都是 Win7,IE9)中,从调试器控制台评估 JSON 只会给出:
JSON
{
stringify : ...
parse : ...
}
似乎我错过了一些明显的东西......
最佳答案
在某个地方,您似乎包含了 http://www.json.org/js.html 中第三方 JSON 对象实现的旧版本。 JSON.eval()
不是标准方法,并且它也不再出现在 Crockford 的 JSON 中。第二个似乎是浏览器 native 实现; .stringify()
和 .parse()
实际上是唯一有保证的方法:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/JSON
编辑:换句话说,最好的解决方案是更改代码以使用 JSON.parse()
关于javascript - JSON.eval 在某台 PC 中未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13030155/