ios - 使用 sbjson 时无法识别的选择器

标签 ios json sbjson

我正在尝试在这里学习本教程 http://ios-blog.co.uk/iphone-development-tutorials/parsing-json-on-ios-with-asihttprequest-and-sbjson/同时做 ASIHttp 和 SBJSon 教程,一切都很好,直到行

NSMutableArray *colorTitles = [jsonDictionary objectForKey:@"title"];

哪里会因错误而崩溃

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM objectForKey:]: unrecognized selector sent to instance 0x9340d20'

我已经尝试过使用 NSArray、NSString,但我的想法已经用完了……我的代码与链接完全相同

最佳答案

当您尝试调用不属于相应类或其父类(super class)的方法时,可能会发生这种情况,然后在这种情况下您会收到错误:无法识别的选择器已发送到实例

所以检查你得到了什么 JSON。 根据JSON Response(data)尝试解析。

我想告诉您有关 JSON 的信息:

JSON 建立在两种结构上:

A collection of name/value pairs. In various languages, this is realized as an object, record, struct, dictionary, hash table, keyed list, or associative array.
An ordered list of values. In most languages, this is realized as an array, vector, list, or sequence.

在 JSON 中,它们采用以下形式:

对象

对象是一组无序的名称/值对。对象以 {(左大括号)开始,以 }(右大括号)结束。每个名称后跟 :(冒号),名称/值对由 ,(逗号)分隔。

数组:

数组是值的有序集合。数组以 [(左括号)开始,以 ](右括号)结束。值由 ,(逗号)分隔。

值(value)

值可以是双引号中的字符串,也可以是数字,也可以是 true 或 false 或 null,也可以是对象或数组。这些结构可以嵌套。

我认为您正在获取值 JSON,因此请尝试以下操作。还有一件事你不能从字面上将值分配(创建对象)给 NSmutableArray 。所以请按以下方式进行。

NSArray *colorTitles = [jsonDictionary valueForKey:@"title"];

如果您仍然没有得到正确的结果。

http://www.json.org/

关于ios - 使用 sbjson 时无法识别的选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9552379/

相关文章:

json - 在 Elm 中解析 JSON

包含数组的 JavaScript map 变成包含 map 的 map

iphone - iPhone 中的 JSON 解析器出现问题?

ios - 从 PHAsset 获取已编辑照片的 URL

ios - 当应用程序未运行时,通过静默推送通知在后台更新本地数据库

ios - 减小 AppStore 的 iOS 应用程序大小 (Xamarin)

php - 如何从 MySQL 创建对 Google Chart 友好的 JSON 数组?

objective-c - 我可以最小化此 SBjson 代码中使用的对象数量吗?

objective-c - SBJson 和 NSData

iphone - 如何使用 NSURLRequest 忽略自签名证书