ios - 从NSDictionary获取值

ste*_*k21 4 json nsdictionary ios

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

(
        {
        text = Aaa;
        title = 1;
    },
        {
        text = Bbb;
        title = 2;
    }
)
Run Code Online (Sandbox Code Playgroud)

我的问题是 - 如何从第一维获得文本,所以它应该是"Aaa".我试过用这个:

[[[json allValues]objectAtIndex:0]objectAtIndex:0];
Run Code Online (Sandbox Code Playgroud)

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

Terminating app due to uncaught exception
'NSInvalidArgumentException', reason: '-[__NSCFArray allValues]:
unrecognized selector sent to instance 0x714a050'
Run Code Online (Sandbox Code Playgroud)

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

LJ *_*son 6

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

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

NSArray *jsonArray = [json allValues];
NSDictionary *firstObjectDict = [jsonArray objectAtIndex:0];
NSString *myValue = [firstObjectDict valueForKey:@"text"];
Run Code Online (Sandbox Code Playgroud)


Ram*_*uri 6

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

NSDictionary* dict1= json[0];
NSString* text= dict1[@"text"];
NSString* title= dict1[@"title"];
Run Code Online (Sandbox Code Playgroud)