我的服务器上有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'
那么请你帮助我,如何从指定的索引中获取一个值?谢谢!
答案 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。