为什么JSON.parse()抛出Uncaught SyntaxError:尝试解析一个简单的json对象时出现意外的标记?

时间:2012-07-27 16:47:29

标签: javascript json

以下两行javascript代码导致Uncaught SyntaxError:

    var testObj = JSON.parse('{ testFunc: function () { console.log("whoa there"); }}');

    testObj["testFunc"]();

我不明白我的json字符串是什么无效。

2 个答案:

答案 0 :(得分:5)

据我所知,这不是一个JSON字符串,而是一个字符串文字所持有的javascript。与XML一样,JSON是一种在多个平台上表示数据的方法。请看一下JSON的规范:

http://www.json.org

如果要传递实际上是函数的值,则需要使用javascript eval方法,或者让JSON字符串值作为维护这些方法的对象的键。

答案 1 :(得分:3)

JSON不允许内联函数定义......这是JavaScript。

http://json.org/