将.json文件读入javascript JSON对象

时间:2014-01-10 08:13:18

标签: javascript jquery json

我正在测试我是否可以将.json文件中的项目读入javascript JSON对象并显示内容。我需要将BID存储在变量R1数组中并显示它

代码如下

<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<script type="application/javascript">
function loadJSON()
{
   var data_file = "data1.json";
   var http_request = new XMLHttpRequest();
   try{
      // Opera 8.0+, Firefox, Chrome, Safari
      http_request = new XMLHttpRequest();
   }catch (e){
      // Internet Explorer Browsers
      try{
         http_request = new ActiveXObject("Msxml2.XMLHTTP");
      }catch (e) {
         try{
            http_request = new ActiveXObject("Microsoft.XMLHTTP");
         }catch (e){
            // Something went wrong
            alert("Your browser broke!");
            return false;
         }
      }
   }
   http_request.onreadystatechange  = function(){
      if (http_request.readyState == 4  )
      {
        // Javascript function JSON.parse to parse JSON data
        var jsonObj = JSON.parse(http_request.responseText);


        var R1 = new Array();    

for(var i= 0 ; i< jsonObj.length; i++){
   R1.push(jsonObj[i].BID);
   document.write(R1);
}



      }
   }
   http_request.open("GET", data_file, true);
   http_request.send();
}




</script>

</body>
</html>

AND我的data1.json如下

[ { "BID" : "4569749", }, { "BID" : "466759", }, { "BID" : "4561149", }, ]

1 个答案:

答案 0 :(得分:0)

是的,我们可以加载Json对象,正如我在我的一个JSP项目中所做的那样。这是代码,以便您可以轻松理解。它正在调用一个从数据库中准备JSON文件的servlet。


        $('document').ready(function(){
            $.ajax({
                type: 'POST', 
                url: 'getCities',
                success: function(data) {
                    var response = JSON.parse(data);
                    var products = response['city'];
                    var product_html = '';
                    $(products).each(function(index, value){
                        product_html += ""+value['name']+"";
                    });
                    product_html += "";
                    $("#citylist").html(product_html);
                }
            }); 
        }); 

这里'getCities'是一个servlet,它从数据库中提取的数据中准备JSON文件。它实际上填充了与特定县相关的下拉列表。

我认为json文件不正确还有一件事。请使用一些json验证器检查格式。