2011-12-22 5 views
2

iOS 5では、ネイティブjsonサポートを使用できます。 私は多くのことを試してみましたが、私は次のように解析カント: http://api.audioboo.fm/users/40956/audio_clips.jsoniOS 5 json - jsonの文字列にもっと深く入りますか?

私の目標は、ように、すべてのaudio_clipともidをとを取得することです。私は、単純なJSON文字列を試した何

は次のとおりです。

 NSDictionary* json = [NSJSONSerialization 
         JSONObjectWithData:responseData //1 

         options:kNilOptions 
         error:&error]; 


    latestBoo = [json objectForKey:@"audio_clips"]; 

しかし、私はこれらの情報を取得する方法を知らないこの複雑なJSON文字列と

。答えを

希望:)

+1

少し明確化を助け、それが "ではありません複雑なJSON文字列 "ではなく、"複雑なJSONオブジェクト "です。さまざまなオンラインサービスを使用してよりわかりやすくすることができます。 – Cyrille

答えて

2
NSDictionary *parsedData = [NSJSONSerialization 
        JSONObjectWithData:responseData //1 

        options:kNilOptions 
        error:&error]; 

// Response Data is the JSON String... 

NSLog(@"Parsed Data: %@", parsedData); 

NSDictionary *bodyDictionary = [parsedData valueForKey:@"body"]; 

NSLog(@"bodyDictionary: %@", bodyDictionary); 

NSArray *audioClipsArray = [bodyDictionary valueForKey:@"audio_clips"]; 

NSLog(@"Response array: %@", audioClipsArray); 

ここで、audioClipsArrayはオーディオクリップのすべての要素を含む配列です。

+0

thxは完璧に機能しました!私の一日を保存しました:) – H3rrVorr4g3nd

0

あなたのJSONのルートは、ターンでaudio_clipsが含まれているbodyが含まれています。そうする必要があります

NSArray *audioClips = [(NSDictionary *)[json objectForKey:@"body"] objectForKey:@"audio_clips"]; 

次に、audioClipsアレイで繰り返すことができます。

0

私はあなたにすべてのiOSのコードを提供しますが、これらの情報にアクセスするため、Javaのスタイルの擬似コードスニペットはできません。

// serialize string into json object 
JSONObject json = serialize(responseData); 


// request member "body" as json object 
JSONObject body = json.getAsJsonObject("body"); 

// request member "audio_clips" as json array 
JSONArray audio_clips = body.getAsJsonArray("audio_clips"); 

// iterate over json array 
for(JSONObject audio_clip : audio_clips) { 
    // access members of audio_clip, e.g. id 
    int id = audio_clip.getInt("id"); 
} 

希望これは
-axel

+0

JSONオブジェクトの構造を分析したい場合はJSONエディタを使用することをお勧めします...十分なものがあります。単純なオンラインツールはこれですhttp://braincast.nl/samples/jsoneditor/ – AxelTheGerman

+0

JavaコードはiOSプログラマーにとってあまり役に立ちません。 –

+0

まあ、私はこれらの2つの言語が非常に異なることを知っています。しかし、Java固有のコード・フラグメント/ライブラリ呼び出しが含まれていないので、JSONオブジェクトを処理する方法を理解するのに役立ちます - また、どのOOプログラマーもこの種の疑似コードを読み取ることができるはずです – AxelTheGerman

関連する問題