0

次のようなファイルから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" );
});

そして結果:

  • 価値
  • 価値
  • 価値
  • 価値
  • [オブジェクト オブジェクト]
  • [対象オブジェクト]、[対象オブジェクト]、[対象オブジェクト]、[対象オブジェクト]、[対象オブジェクト]

[オブジェクト オブジェクト] をロードするにはどうすればよいですか

多分私はこのようになりたいです:

  • 価値
  • 価値
  • 価値
  • 価値
  • 値{}
    -値 -
    値 -
  • 値[]
    -値{}
    -
    値-値 -
    値 -
    値{}
    -
    値-値 -
    値-値{
    }
    -値 -値 -

    -
    値{}
    -値 -値
    -値
    -
    値{}
    -値
    -値
    - 値

私の質問は、そのためのスクリプトです。ありがとう

(テキスト.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 に答える