【问题标题】:Not able to parse JSON file in JavaScript无法在 JavaScript 中解析 JSON 文件
【发布时间】:2011-04-12 10:34:04
【问题描述】:

我正在使用 JavaScript 来解析 JSON 文件。但我无法理解我得到的错误。任何人都可以在这个话题上帮助我。

**我的代码: html文件:

<title>JSON Parser</title> 
<script type="text/javascript">  
    function webGLStart() {  
       var request = new XMLHttpRequest();
       request.open("GET","test.json");
       var my_JSON_object = JSON.parse(request.responseText);
     alert (my_JSON_object.result[0]);
    }

</script>  
</head>  
<body onload="webGLStart();">  
</body>  
</html> 

test.json 文件:

{"result": [0,1,2,3,4] }

上述代码中的警报不会在网页上显示任何内容。

【问题讨论】:

    标签: json parsing file


    【解决方案1】:

    使用 jQuery 很简单:

    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script type="text/javascript">  
        $.getJSON('test.json', function(data) {         
        $.each(data, function(key, val) {
            console.log("key=" + key + " " + "val=" + val);
        });
    });
    

    更多示例代码请看这里:http://api.jquery.com/jQuery.getJSON/

    【讨论】:

      【解决方案2】:

      您发出 Ajax 请求的代码不正确。

      首先,var request = new XMLHttpRequest(); 在 IE 5、6 的情况下不起作用;即您需要制作 XMLHttp 的跨浏览器对象

      其次,request.open("GET","test.json"); 并不表示这个请求是异步的……即你缺少第三个布尔参数(真/假)

      第三,您没有使用以下方式将请求发送到 Web 服务器:

      request.send(null);
      

      试试下面的 Ajax 链接:

      http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp

      尝试使用 Javascript 解析 JSON 的链接:

      http://json.org/js.html

      希望这会有所帮助。

      【讨论】:

        【解决方案3】:

        Ajax 是异步的。您正试图在响应从服务器到达之前读取它。哦,比那更糟。您正在打开请求,但从未真正发送它。

        响应到达后,您需要使用事件处理程序 onreadystate change 来运行代码,并且您需要先将请求发送到服务器,然后才能获得响应。有一个decent guide to using XHR here

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-06-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-11-16
          • 2018-10-01
          相关资源
          最近更新 更多