2011-12-26 4 views
1

JSONの読者に助言を与えることはできますか?私はRSSフィードをJSONで持っていますが、コードを解読する方法がわからないので、コードで使用できます。以前はJSONを解析していましたが、ウェブのユーザーから「キーワードのアルバムはオブジェクトのリストです」というAPIがあります。だから私はJSONを解析し、NSArrayに "アルバム"を押し込みます。私はSBJSONをiOSに使用しています。手動でJSONを読む方法

私はiTunesからRSSデータを取得しようとしていますが、どこにでもAPIドキュメントが表示されていないため、データを正しく解析する方法がわかりません。ここで

リンクです:私はちょうど少しそれにあなたを取得するつもりです iTunes JSON

答えて

7

、あなたはより多くのデータを取得するためのDiggディッパーになります。

{ 
    "feed": { 
    "author": { 
     "name": { 
     "label": "iTunes Store" 
     }, 
     "uri": { 
     "label": "http://www.apple.com/itunes/" 
     } 
    }, 
    "entry": [ 
     { 
     "im:name": { 
      "label": "Sexy and I Know It" 
     }, 
     "im:image": [ 
      { 
      "label": "http://a5.mzstatic.com/us/r1000/037/Music/3c/0c/ba/mzi.levtcsmk.55x55-70.jpg", 
      "attributes": { 
       "height": "55" 
      } 
      }, 
      { 
      "label": "http://a2.mzstatic.com/us/r1000/037/Music/3c/0c/ba/mzi.levtcsmk.60x60-50.jpg", 
      "attributes": { 
       "height": "60" 
      } 
      }, 
      { 
      "label": "http://a3.mzstatic.com/us/r1000/037/Music/3c/0c/ba/mzi.levtcsmk.170x170-75.jpg", 
      "attributes": { 
       "height": "170" 
      } 
      } 
     ], 

上記のデータは、jsonと呼ばれるNSStringに格納されると仮定すると:これは、あなたが以下のJSONをパースする方法をです。

NSDictionary *data = [json JSONValue]; 

ゲットfeedオブジェクトのNSDictionary表現

NSDictionary *feed = (NSDictionary *) [data objectForKey:@"feed"]; 

ゲットauthorオブジェクトのNSDictionary表現

NSDictionary *author = (NSDictionary *) [feed objectForKey:@"author"]; 

取得:NSDictionary

読むのJSONデータ

NSDictionary *name = (NSDictionary *) [author objectForKey:@"name"]; 

labelオブジェクト

NSString *label = (NSString *) [name objectForKey:@"label"]; 

NSString表現を取得...ので

今すぐエントリーのコレクションは

ゲットオブジェクトを取得することができますnameオブジェクトのNSDictionary表現NSArrayの表現entryオブジェクト

NSArray *entry = (NSArray *) [data objectForKey:@"entry"]; 

あなたは構文解析の流れを理解するのに役立ちます希望

NSArray *images = [[entry objectAtIndex[0]] objectForKey:@"im:image"]; 

エントリコレクションからImageオブジェクトのNSArrayのを取得することができます。

+0

これは完璧です。私は今完全に理解している! – spentak

+0

喜んで私は助けることができます:-) – Cyprian

関連する問題