-2

我正在尝试从 www.tiritium.com/standings.php 上的 php 生成文件中读取 JSON 数组,它在 Android 上运行良好,但我无法从文件中读取它。它可以正确打开它,但我无法将 NSDictionary 放入 NSArray。

 //parse out the json data
    NSError* error;
    NSDictionary* json = [NSJSONSerialization
                          JSONObjectWithData:responseData //1

                          options:kNilOptions
                          error:&error];

    NSArray* latestNames = [json objectForKey:@"name"]; //2

    NSLog(@"name: %@", latestNames); //3

我已将错误范围缩小到 //2 但我似乎无法弄清楚发生了什么。我不确定是我的数据是如何从脚本输出的,还是我的应用程序本身的代码。

2013-08-14 16:39:51.992 Derby Days[7951:c07] -[__NSCFArray objectForKey:]: unrecognized selector sent to instance 0x8a297b0
2013-08-14 16:39:51.993 Derby Days[7951:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFArray objectForKey:]: unrecognized selector sent to instance 0x8a297b0'

是我收到的错误消息。

4

2 回答 2

7

阅读异常

-[__NSCFArray objectForKey:]: unrecognized selector

JSON 的根是一个数组,而不是字典。

于 2013-08-14T21:43:16.353 回答
0

您的 JSON 文件代表一个数组,而不是字典。如果您需要从中获取名称数组,请使用键值编码,例如NSArray *names = [json valueForKey:@"name"];. 这将为您提供一个 s 数组NSString

于 2013-08-14T21:44:56.400 回答