从嵌套数组加载JSON文件

时间:2013-10-18 20:17:18

标签: json jquery

我从这样的文件加载json的脚本jquery:

$.getJSON( "text.json", function( data ) {
  var items = [];
  $.each( data, function( key, val ) {
    items.push( "<li id='" + key + "'>" + val + "</li>" );
  });

  $( "<ul/>", {
    "class": "my-new-list",
    html: items.join( "" )
  }).appendTo( "body" );
});

和结果:

  • [object Object]
  • [object Object],[object Object],[object Object],[object Object],[object Object]

如何加载[object Object]

也许我想这样:

  • 值{}
    - 值
    - 值
  • 值[]
    - 值{}
        - 值
        - 值
        - 值
    - 值{}
         - 值
         - 值
         - 值
    - 值{}
          - 值
          - 值
          - 值
    - 值{}
          - 值
          - 值
          - 值
    - 值{}
          - 值
          - 值
         值

我的问题是什么剧本。感谢名单

(text.json)

{
"sender":"",
"status":
    {
        "status":"DELIVERED",
        "date_time":"2013-09-30 15:00:00",
    },
"history":
    [   
            {
                "status":"DELIVERED",
                "date_time":"2013-09-30 15:00:00",
            },
            {
                "status":"BAD ADDRESS-UNKNOWN COMPANY",
                "date_time":"2013-09-26 07:45:26",
            }
    ]
}
  

我会尝试这个脚本但不显示:(

$.getJSON( "text.json", function( data ) {
  var items = [];
  $.each( data, function( key, val ) {
         $.each( val, function( key1, val2 ) {
    items.push( "<li id='" + key + "'>" + val + "</li>" );
  });  
     items.push( "<lo id='" + key2 + "'>" + val2 + "</lo>" );
     

});
        $(“”,{           “阶级”:“我的新名单”,           html:items.join(“”)         })。appendTo(“body”);       });

1 个答案:

答案 0 :(得分:0)

您可以检查变量是否是一个对象,以及它是否开始另一次迭代以获取这些列表项等...请注意,这不是一个完整的解决方案,具体取决于您希望列表的外观,但应该得到从正确的方向开始。

$.getJSON( "text.json", function( data ) {
  var items = [];
$.each( data, function( key, val ) {
   if(typeof(val) === 'object')
   {
      $.each( val, function( key2, val2 ) {
        items.push( "<li id='" + key2 + "'>" + val2 + "</li>" );
      });
   }
   else
     items.push( "<li id='" + key + "'>" + val + "</li>" );
});
$( "<ul/>", {
  "class": "my-new-list",
  html: items.join( "" )
  }).appendTo( "body" );
});

这是一个小提琴示例

http://jsfiddle.net/qkzvm/

使用JSON的示例。

http://jsfiddle.net/qkzvm/1/