【问题标题】:how to access single JSON value for key in Objective-C如何在 Objective-C 中访问键的单个 JSON 值
【发布时间】:2014-06-05 15:32:03
【问题描述】:

我是 Obj-C 的新手,由于数组、字典和语法的困难,我可以通过某种方式获得 JSON 请求的输出。如果有人能帮我上路,那就太好了。

    NSLog(@"JSON Feed: %@", self.classified);
    NSDictionary *test = self.classified;
    NSLog(@"andy %@", [test objectForKey:@"text"]);

这会引发异常:

JSON 提要:( { text = "测试文本"; } ) 2014-06-05 17:25:28.170 Nerdfeed[2321:4107]-[__NSCFArray objectForKey:]:无法识别的选择器发送到实例 0x10b988da0 2014-06-05 17:25:28.173 Nerdfeed[2321:4107] * 由于未捕获的异常而终止应用程序

我现在花了几个小时试图找到解决方案,但无法解决。非常感谢您的帮助。

【问题讨论】:

  • 你能发布一个 JSON 样本吗?还有你用什么代码来读取和解析到属性self.classified
  • 先去json.org学习一下JSON语法。然后了解数组/字典的 NSLog 看起来几乎类似于匹配的 JSON,除了在数组周围使用 () 而不是 [] 以及其他一些小细节。您的“JSON Feed”是单个元素的数组,该元素是包含单个条目“文本”的字典。

标签: ios objective-c json dictionary syntax


【解决方案1】:

self.classified 似乎是带有单个项目的 NSArray(而不是 NSDictionary)。试试[[self.classified firstObject] objectForKey:@"text"]

【讨论】:

  • 可能是这样,但语法不正确。 XCode 告诉我“NSDictionary”没有可见的@interface 声明选择器“firstObject”
  • 好的!明白了,我仍然将变量声明为字典。您的帮助和 Hot Licks 的评论帮助解决了这个问题。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-02-26
  • 2019-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多