ios - 从NSDictionary获取值

时间:2013-09-08 11:44:19

标签: ios json nsdictionary

我的服务器上有JSON,它被解析为NSDictionary的iOS应用程序。 NSDictionary看起来像这样:

(
        {
        text = Aaa;
        title = 1;
    },
        {
        text = Bbb;
        title = 2;
    }
)

我的问题是 - 如何从第一维获得文本,因此它应该是“Aaa”。我试过用这个:

[[[json allValues]objectAtIndex:0]objectAtIndex:0];

但它没有用,它以错误结束

Terminating app due to uncaught exception
'NSInvalidArgumentException', reason: '-[__NSCFArray allValues]:
unrecognized selector sent to instance 0x714a050'

那么请你帮助我,如何从指定的索引中获取一个值?谢谢!

3 个答案:

答案 0 :(得分:6)

该错误消息只是告诉您NSDictionary(该数组的第一个对象,以及第二个对象)不响应objectAtIndex

这将有点像,但它更好地解释了:

NSArray *jsonArray = [json allValues];
NSDictionary *firstObjectDict = [jsonArray objectAtIndex:0];
NSString *myValue = [firstObjectDict valueForKey:@"text"];

答案 1 :(得分:6)

您的JSON对象是一个包含两个词典的数组。这就是获取价值的方法:

NSDictionary* dict1= json[0];
NSString* text= dict1[@"text"];
NSString* title= dict1[@"title"];

答案 2 :(得分:0)

试试这个:

NSString *txt = [[json objectAtIndex:0] objectForKey:@"text"];

更新:修复了错误。谢谢yunas。