0

次のリンクの解析に問題があります。$ .getJSON()を使用して、配列内の各オブジェクトからいくつかのオブジェクト特性を抽出できるようにしたいと思います。誰かが私がこれを行う方法の手がかりを持っていますか?

ありがとう!

http://search.yahooapis.com/NewsSearchService/V1/newsSearch?appid=YahooDemo&query=market&results=2&language=en&output=json&callback=

実際のオブジェクトは次のとおりです。

{
  "ResultSet": {
    "totalResultsAvailable": "68369",
    "totalResultsReturned": 2,
    "firstResultPosition": "1",
    "Result": [{
      "Title": "MARKET SNAPSHOT: U.S. Stocks To Begin New Week In Vulnerable Spot",
      "Summary": "MARKET SNAPSHOT: U.S. Stocks To Begin New Week In Vulnerable Spot",
      "Url": "http:\/\/www.foxbusiness.com\/story\/markets\/industries\/market-snapshot-stocks-begin-new-week-vulnerable-spot\/",
      "ClickUrl": "http:\/\/www.foxbusiness.com\/story\/markets\/industries\/market-snapshot-stocks-begin-new-week-vulnerable-spot\/",
      "NewsSource": "FOX Business",
      "NewsSourceUrl": "http:\/\/www.foxbusiness.com\/",
      "Language": "en",
      "PublishDate": "1278143248",
      "ModificationDate": "1278144826"
    }, {
      "Title": "MARKET SNAPSHOT: U.S. Stocks In The Red, Post Weekly Losses",
      "Summary": "MARKET SNAPSHOT: U.S. Stocks In The Red, Post Weekly Losses",
      "Url": "http:\/\/feeds.foxbusiness.com\/~r\/foxbusiness\/latest\/~3\/hL3f6RiYhdU\/",
      "ClickUrl": "http:\/\/feeds.foxbusiness.com\/~r\/foxbusiness\/latest\/~3\/hL3f6RiYhdU\/",
      "NewsSource": "Fox News",
      "NewsSourceUrl": "http:\/\/www.foxnews.com\/",
      "Language": "en",
      "PublishDate": "1278109361",
      "ModificationDate": "1278109412"
    }]
  }
}
4

2 に答える 2

1

以下が機能するはずです。データから必要なプロパティを抽出する必要があります

$.getJSON('http://search.yahooapis.com/NewsSearchService/V1/newsSearch?appid=YahooDemo&query=market&results=2&language=en&output=json&callback=', function(data) {
  alert(data.ResultSet.totalResultsAvailable);
});

アップデート

意味のある結果を出力します。成功関数を起動するにはコールバックが必要です。

于 2010-07-04T01:53:57.423 に答える
1

完全に理解できるかどうかはわかりませんが、よく読むと、オブジェクト表記になっていることがわかります(つまり、JSONの意味です)。したがって、修飾名(data.ResultSet.Result)を持つ任意のプロパティにアクセスできます。 [0] .Summaryは、最初の結果の要約にアクセスします(例)。

とにかく、どの特徴を抽出したいですか?'emをいくつかのDOMコンポーネントに出力しますか、それらに警告しますか、それとも変数に格納しますか?いずれにせよ、このコードを確認してください。結果ごとに、アラートダイアログにタイトルとURLが出力されます(jQueryの各関数を使用して結果を反復処理します)。

$.getJSON('http://search.yahooapis.com/NewsSearchService/V1/newsSearch?appid=YahooDemo&query=market&results=2&language=en&output=json&callback=',
function(data){
   $.each(data.ResultSet.Result, function(index, value){
     alert("Result #"+index+": "+value.Title+" url: "+value.Url);
   });
   return false;
});

クロスサイト呼び出しである可能性があるため、コールバックを残します。そのパラメーターは、ほとんどの主要なブラウザーで適用される同一生成元ポリシーを回避するために使用されます。

于 2010-07-04T02:22:19.787 に答える