使用jquery显示JSOn文件中的部分数据

时间:2016-02-05 22:05:27

标签: jquery json

我试图只显示来自此JSON文件的id和登录名为users.json:

     {
        "users": [
             {

              "id": 1,
              "name": "Ian",
              "login": [
                 "January 10, 2016",
                 "February 1, 2016"
                       ]
            },

            {

              "id": 2,
              "name": "Sam",
              "login": [
                 "January 16, 2016",
                 "February 1, 2014"
                     ]
               }
          ]

      }

这是我的代码:

<script type="text/javascript">
        $("document").ready(function(){
            //get the XML data and add list items
            var url = "users.json";
            $.getJSON(url,  function (data) {
                 console.log(data); 
                 console.log("Printing data.users");
                 console.log(data.users);
                 $.each(data.users, function(i,val){
                    $("<li></li>")
                    .html(val)
                    .appendTo("ul#userList");

                 });

            });

        });

    </script>
</head>
<body>
    <h1>Reading from and JSON Document using jQuery.getJSON()</h1>
    <ul id="userList"></ul>
 </body>

如果我执行上面的代码,我只能看到JSON文件中的第一个条目。

如果我修改代码,我就看不到任何输出。

  <script type="text/javascript">
        $("document").ready(function(){
            //get the XML data and add list items
            var url = "users.json";
            $.getJSON(url,  function (data) {
                 console.log(data); 
                 console.log("Printing data.users");
                 console.log(data.users);
                  var val = [];
                $.each(data.users, function(i,val){
                    $("<li></li>")
                    .html(val.id)
                    .appendTo("ul#userList");

                 });

            });

        });

    </script>
</head>
<body>
    <h1>Reading from and JSON Document using jQuery.getJSON()</h1>
    <ul id="userList"></ul>
  </body>
 </html>

请问如何获取特定的数据集?

谢谢!

1 个答案:

答案 0 :(得分:0)

正如@charlietfl所提到的,你有第二个版本。但是,如果您正在寻找其他方法,则可以执行forEach循环。这将迭代用户信息,并插入名称。它使用的是forEach,因此IE9及以下版本与此无关。

&#13;
&#13;
var userData = {
  "users": [{

      "id": 1,
      "name": "Ian",
      "login": [
        "January 10, 2016",
        "February 1, 2016"
      ]
    },

    {

      "id": 2,
      "name": "Sam",
      "login": [
        "January 16, 2016",
        "February 1, 2014"
      ]
    }
  ]

};

$list = $('ul');
userData.users.forEach(function(value, key) {
  
  $list.append($('<li></li>').text(value.name));
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul></ul>
&#13;
&#13;
&#13;