为什么JSON.parse没有工作?

时间:2011-03-05 03:50:26

标签: javascript json

为什么JSON.parse没有按预期运行? 在此示例中,警报不会触发:     

<html xmlns="http://www.w3.org/1999/xhtml">

    <head>
        <title>Testing JSON.parse</title>
        <script type="text/javascript" src="js/json2.js">
            // json2.js can be found here: https://github.com/douglascrockford/JSON-js/blob/master/json2.js
        </script>
        <script type="text/javascript">
            function testJSONParse()
            {
                var text = '[{"a":"w","b","x"},{"a":"y","b":"z"}]';
                alert(JSON.parse(text));
            }
            window.onload = testJSONParse;
        </script>
    </head>
    <body>

    </body>
</html>

在firefox中,错误控制台显示“JSON.parse”。不是很具描述性。

这是我使用AJAX从数据库获取数据并将结果作为JSON字符串(表示JSON对象的字符串)获取的问题的简化,其形式与示例中的text相同上方。

2 个答案:

答案 0 :(得分:10)

您的JSON格式不正确:

var text = '[{"a":"w","b","x"},{"a":"y","b":"z"}]';
                         ^-- This should be a ':'

应该是:

var text = '[{"a":"w","b":"x"},{"a":"y","b":"z"}]';

答案 1 :(得分:2)

输入错误

var text ='[{“a”:“w”,“b”“x”},{“a”:“y”,“b”:“z”} ]';

//below is correct one
var text = '[{"a":"w","b":"x"},{"a":"y","b":"z"}]';
alert(JSON.parse(text));