按索引读取NSDictionary

时间:2013-04-07 21:48:07

标签: objective-c nsdictionary

我有一个REST-api,它在解析JSON后返回NSDictionary中调用的内容。

记录如下:

2013-04-07 23:43:25.008 MyApp[15133:c07] (
        {
        id = 1;
        name = "The best of NTNU";
        type = 1;
    },
        {
        id = 2;
        name = "Forever alone";
        type = 1;
    }
)

我希望将dict的第一级作为我可以使用的NSDict。问题在于,无论我如何尝试抓取此内容(valueForKeyobjectForKey),该应用都会崩溃。

据记忆检查员说,这是NSDict [0]和[1]的“孩子”,但我不知道如何得到它们。

3 个答案:

答案 0 :(得分:3)

JSON实际上是返回NSDrray的NSArray,而不是单个NSDictionary。

要获得第一级,您需要获取数组的第一个索引:

NSArray *json = [NSJSONSerialization ....
NSDictionary *firstLevel = json[0]; // or [json objectAtIndex:0];

答案 1 :(得分:0)

看起来像NSArray(因为没有键......),所以你可以使用objectAtIndex:选择器访问第一个字典。

NSDictionary * dict0 = [array objectAtIndex:0]

答案 2 :(得分:0)

这实际上是NSArray的{​​{1}}。