2011-07-16 7 views
0

私はこのJSONデータを持ってください。私のjsonフィードから各要素を取得するのに役立ちますか?

{ 
    "data":{ 
     "mat_149":{ 
      "id":"149", 
      "title":"The closing of 40% profit within 9 month", 
      "teaser":"profit within 9 months only which is equal to 52% annual profit", 
      "body":" The auction was presented in a very high and commercial lands.\u000d\u000a", 
      "files":{ 
       "911":{ 
        "fid":"911", 
        "filename":"22.JPG", 
        "filepath":"http://mysite/files/22_0.JPG" 
       } 
      } 
     }, 
     "mat_147":{ 
      "id":"147", 
      "title":"Company launches the city ", 
      "teaser":"demands for distinguished lands.", 
      "body":" The area size is quare meters This is evident through projects and many other projects.\u000d\u000a\u000d\u000a", 
      "files":{ 
       "906":{ 
        "fid":"906", 
        "filename":"2D7z.jpg", 
        "filepath":"http://mysite/dlr/files/2D7Z.jpg" 
       } 
      } 
     }, 
     "mat_link":"mysite.com/" 
    } 
} 

私はJSON-フレームワークと、このようにそれを解析しています:

NSString *response = [[NSString alloc] initWithData:receivedData encoding:NSASCIIStringEncoding] ; 
SBJSON *parser = [[SBJSON alloc] init]; 
NSDictionary *data = (NSDictionary *) [parser objectWithString:response error:nil]; 
NSLog(@"Data : %@", [data valueForKey:@"data"]); 

私は、データを取得しています:

NSLog(@"Data : %@", [data objectForKey:@"data"]); 

私はデータを取得するが、 'fid'、 'filename'、 'filepath'のような 'ファイル'項目を取得するために何をすべきか。 'Data' n 'files'の各要素を取得してNSStringsに格納する方法......

誰かが私がしなければならないことを指摘できますか?

NSLog(@"%@", data); 

次にあなたが構造を見ることができますしてください

答えて

0

彼らはすべてのサブ辞書が彼ら、 がちょうどそう行く全体の辞書をログに記録しようとしていませんね。

他のすべてのデータを取得するには、特定の文字列を取得するためにどのキーを呼び出すかを知っているすべてを保持するデータモデルを作成する必要があります。

[data allKeys]を呼び出すこともできます。 これを繰り返し、モデルオブジェクトを持つ辞書を取得します。

例えば:

//どこかで、あなたがこの

NSArray *keys = [data allKeys] 
for (NSString *key in [data allKeys]) { 
NSDictionary *oneObject = [dictionary objectForKey:key]; 
MyObjectModel *object = [[MyObjectModel alloc] init]; 
object.id = [oneObject objectForKey:@"id"]; 
object.title = [oneObject objectForKey:@"title"]; 
//etc 

//then you create another dict for files 
} 

アレックス

を宣言
関連する問題