简体   繁体   English

为什么JSON.parse没有工作?

[英]Why doesn't JSON.parse work?

Why doesn't JSON.parse behave as expected? 为什么JSON.parse没有按预期运行? In this example, the alert doesn't fire: 在此示例中,警报不会触发:

<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>

In firefox, the Error Console says "JSON.parse". 在Firefox中,错误控制台显示“JSON.parse”。 Not very descriptive.. 不是很具描述性..

This is a simplification of a problem I have which uses AJAX to fetch data from a database and acquires the result as a JSON string (a string representing a JSON object) of the same form as text in the example above. 这是我所遇到的问题的简化,它使用AJAX从数据库中获取数据,并将结果作为JSON字符串(表示JSON对象的字符串)获取,其形式与上例中的text相同。

Your JSON is not formatted correctly: 您的JSON格式不正确:

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

It should be: 它应该是:

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

error in typing 打字错误

var text = '[{"a":"w","b" : "x"},{"a":"y","b":"z"}]'; 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));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM