2

我正在尝试解析大量 JSON,结果发现它是一个包含 20 个字典的大数组。我只是想知道如何将其解析为多个 NSDictionaries?我习惯于用 JSON 做这个:

NSDictionary *tDic = [NSJSONSerialization JSONObjectWithData:responseObject options:kNilOptions error:&error];

但我试图解析的 JSON 看起来像这样:

[{
"key": "value"
"key": {
    "key": "value"
    "key": "value"
    }
},
{
"key": "value"
"key": {
    "key": "value"
    "key": "value"
    }
},
{
"key": "value"
"key": {
    "key": "value"
    "key": "value"
    }
}]

任何人都可以帮忙吗?

4

2 回答 2

3

您所要做的就是将其更改为:

NSDictionary *tDic = [NSJSONSerialization JSONObjectWithData:responseObject options:kNilOptions error:&error];

至:

NSArray *tArray = [NSJSONSerialization JSONObjectWithData:responseObject options:kNilOptions error:&error];

那么你所拥有的是一个NSArray完整的NSDictionary'。

于 2012-08-20T19:38:43.770 回答
-1

你能指望什么?您的 JSON 是一个字典数组,所以这就是NSJSONSerialization返回给您的内容。其他任何事情都是错误的。

此外,这个方法应该如何返回“多个 NSDictionaries”给你?可以做到这一点的唯一方法是将它们粘贴到某种容器中,例如NSArrayor NSSet。而且由于 JSON 规范说您的 JSON 是一个数组NSArray(或者NSMutableArray您可以通过指定正确的标志来获得)是唯一合乎逻辑的选择。

于 2012-08-20T19:38:41.503 回答