0

我有一个 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;
    }
)

我想将字典的第一级作为我可以使用的 NSDict。问题是,无论我如何尝试抓住这个(valueForKeyobjectForKey),应用程序都会崩溃。

根据内存检查员的说法是这个 NSDict [0] 和 [1] 的“孩子”,但我不知道如何得到他们。

4

3 回答 3

3

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

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

NSArray *json = [NSJSONSerialization ....
NSDictionary *firstLevel = json[0]; // or [json objectAtIndex:0];
于 2013-04-07T21:50:29.090 回答
0

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

NSDictionary * dict0 = [array objectAtIndex:0]
于 2013-04-07T21:50:41.077 回答
0

This is actually a NSArray of NSDictionary.

于 2013-04-07T21:50:47.367 回答