我创建了一个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
数组?用现有的方法可以吗?
答案 0 :(得分:0)
尝试在NSDictionary和NSArray上使用新的enumerateObjectsUsingBlock API。您可以在NSJSONSerialization返回的变量上调用它
它非常简单,代码比快速枚举更清晰。