如何在html代码中使用json文件

Posted

技术标签:

【中文标题】如何在html代码中使用json文件【英文标题】:how to use json file in html code 【发布时间】:2012-08-17 17:30:26 【问题描述】:

我有 json 文件 mydata.json,在这个文件中有一些 json 编码的数据。

我想在文件index.html 中获取这些数据并在javascript 中处理这些数据。但是不知道如何在 .html 文件中连接.json 文件?

请告诉我。 这是我的 json 文件:


    "items": [
        
            "movieID": "65086",
            "title": "The Woman in Black",
            "poster": "/kArMj2qsOnpxBCpSa3RQ0XemUiX.jpg"
        ,
        
            "movieID": "76726",
            "title": "Chronicle",
            "poster": "/853mMoSc5d6CH8uAV9Yq0iHfjor.jpg"
        
    ]
 

认为我正在从服务器获取 json 文件,如何在我的 html 中使用该文件,以便我可以在 html 页面的表格中显示数据。我正在使用 JavaScript 来解析 json 文件。我是这个领域的新手。请帮忙。

【问题讨论】:

您好,您可以考虑为您的问题添加更多细节。你在使用任何 JavaScript 框架吗? (即:jQuery)您已经尝试过什么?期望的最终结果是什么?一个目标明确的好问题将有助于从社区中获得好的答案和示例!使用问题下方的“编辑”链接进行修改。 查看链接,其中还提供了示例api.jquery.com/jQuery.getJSON 我无法获得示例.. 请详细说明... 【参考方案1】:

使用jQuery的$.getJSON

$.getJSON('mydata.json', function(data) 
    //do stuff with your data here
);

【讨论】:

如何在我的html文件中链接jquery..请帮助我!我想要完整的代码。我想在我的 html 页面的表格中显示我的数据。给出一个示例代码。所以我很容易理解。谢谢你的期待。 应该mydata.jsonhtml 文件位于同一目录中吗? 添加错误处理程序很有用,否则getJSON 将静默失败,您将难以理解为什么它不起作用:添加.fail(function(jqxhr, status, error) alert(status + ", " + error);)【参考方案2】:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"> </script>

<script>

    $(function() 


   var people = [];

   $.getJSON('people.json', function(data) 
       $.each(data.person, function(i, f) 
          var tblRow = "<tr>" + "<td>" + f.firstName + "</td>" +
           "<td>" + f.lastName + "</td>" + "<td>" + f.job + "</td>" + "<td>" + f.roll + "</td>" + "</tr>"
           $(tblRow).appendTo("#userdata tbody");
     );

   );

);
</script>
</head>

<body>

<div class="wrapper">
<div class="profile">
   <table id= "userdata" border="2">
  <thead>
            <th>First Name</th>
            <th>Last Name</th>
            <th>Email Address</th>
            <th>City</th>
        </thead>
      <tbody>

       </tbody>
   </table>

</div>
</div>

</body>
</html>

我的JSON 文件:


   "person": [
       
           "firstName": "Clark",
           "lastName": "Kent",
           "job": "Reporter",
           "roll": 20
       ,
       
           "firstName": "Bruce",
           "lastName": "Wayne",
           "job": "Playboy",
           "roll": 30
       ,
       
           "firstName": "Peter",
           "lastName": "Parker",
           "job": "Photographer",
           "roll": 40
       
   ]

经过一天的工作,我成功地将JSON 文件集成到HTML 表中!!!

【讨论】:

如果是本地json文件呢? people.json 只是本地 json。将本地 json 的绝对 url 提供给 $.getJSON 我已经为 people.json 提供了绝对路径,但它不起作用。例如:file:///path/people.json 只需禁用 CORS 策略,它就会起作用,请参阅 ***.com/questions/17711924/… CORS 原产地政策对我来说是一个真正的问题。我需要我的客户在本地查看该页面,所以我不能告诉他们禁用他们的 CORS 来源...【参考方案3】:

您可以像...一样使用 JavaScript 只需提供您的 json 文件的正确路径...

<!doctype html>
<html>
    <head>
        <script type="text/javascript" src="abc.json"></script>
        <script type="text/javascript" >
            function load() 
                var mydata = JSON.parse(data);
                alert(mydata.length);

                var div = document.getElementById('data');

                for(var i = 0;i < mydata.length; i++)
                
                    div.innerHTML = div.innerHTML + "<p class='inner' id="+i+">"+ mydata[i].name +"</p>" + "<br>";
                
            
        </script>
    </head>
    <body onload="load()">
        <div id="data">

        </div>
    </body>
</html>

只需获取数据并将其附加到 div... 最初在 alert 中打印长度。

这是我的 Json 文件:abc.json

data = '["name" : "Riyaz","name" : "Javed","name" : "Arun","name" : "Sunil","name" : "Rahul","name" : "Anita"]';

【讨论】:

abc.json 不是一个有效的 json 文件,它是真正的 javascript,所以在这里你只是调用一个 javascript 文件“abc.json”并加载它...... 如果你想从这个“JSON”将一个数组加载到一个 JavaScript 变量中,你可以删除外部的单引号。在这种情况下,data 将是一个包含具有name 属性的对象的数组。在这种情况下不需要JSON.parse() 这正是我想要的。如果有人想从本地 html 页面读取文件(没有 WebServer),它有助于避免 CORS 错误。类似:“file:///C:/dir/jsoncors.html。Othewise 浏览器给出以下错误:“跨源请求仅支持协议方案:http、data、chrome、chrome-extension、https。”跨度>

以上是关于如何在html代码中使用json文件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JSON 文件在 HTML 中动态创建元素

如何获取网页中的json数据?

如何使用 JavaScript 将 JSON 文件从 HTML 页面发送到 ESP

如何在 html 文件中输出 json 对象?

如何使用 PHP 安全地将 JSON 数据写入文件

如何使用以下 JSON 文件创建树表 html 文件