如何从json数组访问值

时间:2013-11-26 08:46:30

标签: ios objective-c json nsarray

我有一些NSData从我的服务器返回,类型为Json。我想知道如何访问json中存在的值并将它们放入自己的NSString对象中。

这就是JsonArray的结构看起来像

enter image description here

这是我正在使用的代码,但是我的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);
        }
    }

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:2)

你可以这样访问它:

for (NSDictionary *dict in jsonArray)
{
    NSLog(@"Data: %@", dict[@"result"]);
}

您的数组中有字典,因此您必须枚举is并按键访问它(结果等)。

答案 1 :(得分:1)

NSDictionary *resultDictionary = [jsonArray objectAtIndex: 0];
NSArray *resultArray = [resultDictionary objectForKey:@"result"];

for (NSString *item in resultArray)
{
    NSLog (@"item: %@",item);
}

你应该添加一些(非)意义检查。

答案 2 :(得分:0)

你可以像这样访问json数组,

for(NSDictionary *Mydictionary in MyJsonArray) {
   Nsstring *DataOne = [Mydictionary objectforkey@"Mykey"];
}

对于Cheking json节点,你可以将json放在这个站点中,所有节点都会正确显示

http://json.parser.online.fr/