2016-04-30 12 views
-1

返されたjsonオブジェクトの結果をNYTから表示しようとしています。各記事の最初の数段落を表示する必要があります。 APIを呼び出してオブジェクト名と他の2つの文字列要素を表示することができましたが、オブジェクト全体を繰り返し、各記事の最初の段落を戻したいのですが、どうすればいいですか?jquery - 特定のjsonオブジェクトを反復する方法

var $nytapi = "http://api.nytimes.com/svc/search/v2/articlesearch.json?q=new+york+times&page=2&sort=oldest&api-key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; 
$.getJSON($nytapi, function(data) { 
    var items = []; 
    $.each(data, function(key, val) { 
     items.push("<li id='" + key + "'>" + val + "</li>"); 
    }); 
    console.log(data); 
    $("<ul/>", { 
     "class": "my-new-list", 
     html: items.join("") 
    }).appendTo($body); 
}); 
+0

正確に何が起こることを期待していますか?レスポンスjsonを見ましたか?取得するデータには、 'response'、' status'、 'copyright'の3つの即時キーが含まれています。最初のものはオブジェクトであり、他の2つは文字列です。私はこれらをページに直接追加したいと思うのではないかと思いますが、面白いリストはありません。私は配列 'data.response.docs'を表示したいと思います。また、配列内の各オブジェクトの構造をチェックすると、 '$ .each'のコールバック関数を変更する必要があります。 –

+0

コールバック関数にデバッグできましたか? – dfdsfdsfsdf

答えて

0
$.getJSON($nytapi, function(data) 
         { 
        var items = []; 
        $.each(data.response.docs, function(idx, obj) 
            { 
               items.push("<li class='article'><a href='" + obj.web_url + "'target='_blank'>" + obj.headline.main + "</a><p>"+obj.snippet+"</p></li>"); 
            } 
         ); 
        $("<ul/>", 
          { 
          "class": "my-new-list", 
          html: items.join("") 
          } 
        ).appendTo($nytElem); 
       } 
     ).error(function() {$nytHeaderElem.text("error");}); 
関連する問題