我正在努力解决以下问题:
我有一个返回嵌套JSON片段的API。 (我使用NSJSONSeralization来解析它)
例如:
{ "thing" = 1,
"Other thing" = 2,
"ParentFromList": [{
"IT" = 3,
"SecondIT" = 4
}
我如何使用IT及其次?
我试过了:
NSDictionary *thingy = [[jsonOutput objectForKey:@"ParentFromList"] ObjectForKey:@"IT"];
JsonOutput也是一个nsdictionary。 但在运行之后,它失败了:
Unrecognized Selector send to instance.
我不知道如何解决这个问题,请帮助。
答案 0 :(得分:1)
对于您的数据,最外面的对象是NSDictionary
实例。键 ParentFromList 的值是一个数组,即NSArray
实例(注意括号)。数组第一个元素包含另一个字典实例(注意花括号)。
此外,它不是ObjectForKey:
而是objectForKey:
(案件很重要)。
所以你可能想写:
NSDictionary *thingy = [ [ [jsonOutput objectForKey: @"ParentFromList"]
objectAtIndex: 0]
objectForKey: @"IT"];
BTW:您的示例JSON数据既不完整又不是JSON格式(它是Apple的属性列表格式)。
正确完整的JSON表示形式为:
{
"thing": 1,
"Other thing": 2,
"ParentFromList": [
{
"IT": 3,
"SecondIT": 4
}
]
}