使用iOS 5,您可以使用本机json支持。 我尝试了很多东西,但我无法解析以下内容: http://api.audioboo.fm/users/40956/audio_clips.json
我的目标是获取每个audio_clip以及id's等等。
我为简单的json字符串尝试的是:
NSDictionary* json = [NSJSONSerialization
JSONObjectWithData:responseData //1
options:kNilOptions
error:&error];
latestBoo = [json objectForKey:@"audio_clips"];
但是这个复杂的json字符串我不知道如何获取这些信息。
希望得到答案:)
答案 0 :(得分: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中,现在是包含音频剪辑所有元素的数组。
答案 1 :(得分:0)
您的JSON的根包含body
,其中包含audio_clips
。所以你应该做
NSArray *audioClips = [(NSDictionary *)[json objectForKey:@"body"] objectForKey:@"audio_clips"];
然后你可以迭代audioClips
数组。
答案 2 :(得分: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