更改代码以读取不同的JSON格式

时间:2012-08-13 15:07:53

标签: javascript jquery json

我有这个代码读取JSON数据:

$.getJSON("data.json", function(data){
    var output = '';

    $.each(data, function(index, value){
    output += '<li>' + value.title + '</li>';

    });
    $('#listview').append(output).listview('refresh');
    });

上面的代码可以用这种格式读取JSON:

[
    {"title":"mytitle1"},
    {"title":"mytitle2"},
    {"title":"mytitle3"}

]

我现在需要让它读取这个JSON格式:

{"cats":

[

{"title":"mytitle1"},
{"title":"mytitle2"},
{"title":"mytitle3"}

]

}

我该怎么做?

2 个答案:

答案 0 :(得分:2)

这应该有效。您需要引用cats函数中的each元素。

$.getJSON("data.json", function(data){
  var output = '';

  $.each(data.cats, function(index, value){
    output += '<li>' + value.title + '</li>';

  });
  $('#listview').append(output).listview('refresh');
});

答案 1 :(得分:1)

您只需更改回调即可使用返回数据的“cats”属性。

将$ .each的行更改为以下内容:

$.each(data.cats, function(index, value){

请注意,它正在迭代data.cats,而不仅仅是数据。