2

我正在努力解决以下问题:

我有一个返回嵌套 JSON 片段的 API。(我使用 NSJSONSeralization 来解析它)

例如:

 { "thing" = 1,
   "Other thing" = 2,
   "ParentFromList": [{
   "IT" = 3,
   "SecondIT" = 4
 }

我如何使用 IT 和 Second it?

我试过了:

  NSDictionary *thingy = [[jsonOutput objectForKey:@"ParentFromList"] ObjectForKey:@"IT"];

JsonOutput 也是一个字典。但是运行它之后,它失败了:

  Unrecognized Selector send to instance.

我不知道如何解决这个问题,感谢帮助。

4

1 回答 1

1

对于您的数据,最外面的对象是一个NSDictionary实例。键ParentFromList的值是一个数组,即一个NSArray实例(注意括号)。数组的第一个元素包含另一个字典实例(注意花括号)。

此外,它不是ObjectForKey:objectForKey:(案例很重要)。

所以你可能想写:

NSDictionary *thingy = [ [ [jsonOutput objectForKey: @"ParentFromList"]
                         objectAtIndex: 0]
                       objectForKey: @"IT"];

顺便说一句:您的示例 JSON 数据既不完整,也不采用 JSON 格式(它是 Apple 的属性列表格式)。

正确和完整的 JSON 表示将是:

{
    "thing": 1,
    "Other thing": 2,
    "ParentFromList": [
        {
            "IT": 3,
            "SecondIT": 4
        }
    ]
 }
于 2012-12-13T15:17:37.577 回答