-5

我创建了一个 API,结果以 json 格式以以下格式给出:

{"response":"ok","data":[{"file_name":"sample file name one","server_url":"someurl","file_thumb":"images\/7ibysd4f8wiy_t.jpg"},{"file_name":"sample file name two","server_url":"someurl","file_thumb":"images\/jm3t6aat8uhq_t.jpg"}]}

到目前为止,我一直在使用以下功能:

- (NSArray*) jsonToArray:(NSString *)responseData{

    NSData* data = [responseData dataUsingEncoding:NSUTF8StringEncoding];
    NSArray *values = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];  // if you are expecting  the JSON string to be in form of array else use NSDictionary instead

    return values;

}

然后我会得到这样的数组:

data_array = [self jsonToArray:data_js];
[data_array valueForKey:@"data"]

但是我如何能够遍历data数组?用目前的方法可以吗?

4

1 回答 1

0

尝试在 NSDictionary 和 NSArray 上使用新的 enumerateObjectsUsingBlock API。您可以在 NSJSONSerialization 返回的变量上调用它

它超级简单,比快速枚举提供了更简洁的代码。

http://developer.apple.com/library/ios/documentation/cocoa/reference/foundation/Classes/NSArray_Class/NSArray.html#//apple_ref/occ/instm/NSArray/enumerateObjectsUsingBlock

于 2013-08-09T18:40:47.197 回答