如何访问json数组中的值
Posted
技术标签:
【中文标题】如何访问json数组中的值【英文标题】:How to access values from json array 【发布时间】:2013-11-26 08:46:29 【问题描述】:我的服务器返回了一些 Json 类型的 NSData。我想知道如何访问 json 中存在的值并将它们放入自己的 NSString 对象中。
JsonArray 的结构是这样的
这是我正在使用的代码,但是我的 for 循环只显示“结果”而没有其他任何内容。
NSError *error = nil;
NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData:csvData options: NSJSONReadingMutableContainers error: &error];
NSLog(@"%@", jsonArray);
if (!jsonArray)
NSLog(@"Error parsing JSON: %@", error);
else
for(NSDictionary *item in jsonArray)
NSLog(@"Item: %@", item);
【问题讨论】:
看起来您的数组包含字典。你的字典有一个字符串作为键,另一个数组作为值。休息由你决定 【参考方案1】:你可以这样访问它:
for (NSDictionary *dict in jsonArray)
NSLog(@"Data: %@", dict[@"result"]);
您的数组中有字典,因此您必须枚举 is 并通过键(结果等)访问它。
【讨论】:
【参考方案2】:NSDictionary *resultDictionary = [jsonArray objectAtIndex: 0];
NSArray *resultArray = [resultDictionary objectForKey:@"result"];
for (NSString *item in resultArray)
NSLog (@"item: %@",item);
您应该添加一些(非)意义检查。
【讨论】:
【参考方案3】:你可以像这样访问json数组,
for(NSDictionary *Mydictionary in MyJsonArray)
Nsstring *DataOne = [Mydictionary objectforkey@"Mykey"];
为了检查 json 节点,你可以将 json 放在这个站点中,所有节点都会正确显示
http://json.parser.online.fr/
【讨论】:
以上是关于如何访问json数组中的值的主要内容,如果未能解决你的问题,请参考以下文章
如何将 JSON 数组中的值解析为 BigQuery 中的列
我们如何比较 RealmSwift List 和 Json 嵌套数组中的值?