4

我的服务器上有 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'

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

4

3 回答 3

6

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

这会有点冗长,但它更好地解释了它:

NSArray *jsonArray = [json allValues];
NSDictionary *firstObjectDict = [jsonArray objectAtIndex:0];
NSString *myValue = [firstObjectDict valueForKey:@"text"];
于 2013-09-08T11:48:43.153 回答
5

您的 JSON 对象是一个数组,包含两个字典。这就是如何获取值:

NSDictionary* dict1= json[0];
NSString* text= dict1[@"text"];
NSString* title= dict1[@"title"];
于 2013-09-08T11:49:53.733 回答
0

尝试这个:

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

更新:已修复错误。谢谢尤纳斯。

于 2013-09-08T11:55:53.307 回答