0

我有脚本 jquery 用于从文件中加载 json,如下所示:

$.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" );
});

结果:

  • 价值
  • 价值
  • 价值
  • 价值
  • [对象对象]
  • [对象对象],[对象对象],[对象对象],[对象对象],[对象对象]

我如何加载[对象对象]

也许我想成为这样:

  • 价值
  • 价值
  • 价值
  • 价值
  • 值{}
    -value
    -value
    -value
  • 值[]
    -value{}
    -value
    -value
    -value
    -value{}
    -value
    -value
    -value
    -value{}
    -value
    -value
    -value
    -value{}
    -value
    -value
    -value
    -value{}
    -value
    -价值
    -价值

我的问题是什么脚本。谢谢

(文本.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>" );

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

4

1 回答 1

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/

于 2013-10-18T20:36:09.913 回答