如何循环浏览JSON列表

How do I loop through a JSON list?

本文关键字:浏览 JSON 列表 循环 何循环      更新时间:2023-09-26

我的JSON列表中有多个项目。我想循环浏览它并将其显示在我的页面上。不过我似乎无法到达下一个物体。

{
"room":[
    {"campusName":"A",
     "buildingCode":"B",
     "roomNumber":"208",
     "times":["7-8", "9-10"]
}],
"room2":[
{"campusName":"C",
  "buildingCode":"D",
  "roomNumber":"208",
  "times":["7-8", "9-10"
 ]}
]}
$(document).ready(function(){
  $.getJSON("data.json", function(data){
    $.each(data.room, function(){
        for(var i = 0; i < data.length; i++){
            $("ul").append("<li>campus: "+this['campusName']+"</li><li>building: "+this['buildingCode']+"</li><li>times: "+this.times+"</li>");
        }
    });
  });
});

试试这个

var list = '';
$.each(data, function (i, root) {
  $.each(root, function (i, el) {
    list += "<li>campus: " + this.campusName + "</li><li>building: " + this.buildingCode + "</li><li>times: " + this.times.join(' ') + "</li>";
  });  
});
$('ul').html(list);

示例

如果root's在阵列中只有一个元素

var list = '';
$.each(data, function (i, root) {
  list += "<li>campus: " + root[0].campusName + "</li><li>building: " + root[0].buildingCode + "</li><li>times: " + root[0].times.join(' ') + "</li>";
});
$('ul').html(list); 

示例

$.each(data, ..)-->每个元素都是:

"room":[
    {"campusName":"A",
     "buildingCode":"B",
     "roomNumber":"208",
     "times":["7-8", "9-10"]
}]

然后,this[0]将提供构建li:所需的对象

$.each(data, function(){
            $("ul").append("<li>campus: "+this[0]['campusName']+"</li><li>building: "+this[0]['buildingCode']+"</li><li>times: "+this[0].times+"</li>");
    });

Fiddle