1

我正在使用 POST 和 AFNetworking 从服务器接收和发送数据。在其中一种情况下,我得到了下一个 JSON:

{
    20 = "Some text";
    25 = "some other text";
}

JSON的内容是未知的,我只知道会有一个数字等于一些文本。通常我使用 valueForKey 但在上面我不知道密钥将是什么。如何将上述内容解析为任何分隔 id 和文本的数组?

谢谢

4

4 回答 4

4

使用下面的代码从字典中查找键列表,您可以使用键进一步执行操作。

NSArray *keys = [yourdict allKeys];
于 2013-07-17T07:43:12.390 回答
1

将其转换为这样的字典:

NSDictionary *dataDictionary = [NSJSONSerialization JSONObjectWithData:*yourJSONObject* options:NSJSONReadingMutableContainers error:nil];

然后用这里其他人已经提到的方法获取密钥

[dataDictionary allKeys];
于 2013-07-17T08:06:58.993 回答
0

我认为您所指的 JSON 是字典类型。

IE

{
    20 : "Some text",
    25 : "some other text"
}

如果是这种情况,那么一旦将其转换为对象...

NSDictionary *jsonObject = [NSJSONSerialization JSONObjectWithData:yourJSONData options:0 error:nil];

然后,您可以从中获取所有密钥...

NSArray *allTheKeys = [jsonObject allKeys];

然后,您可以迭代键数组以获取每个键的值。

于 2013-07-17T07:43:19.030 回答
-1

试试这个说你 JSON 数据在 JSONData 变量中

if([JSON isKindOfClass:[NSDictionary class]])
{
    NSDictionary * dictionaryFromJSON = (NSDictionary *)JSON;
    for(id key in [dict allKeys])
    {
        id obj = [dictionaryFromJSON objectForKey:key];
        // use this obj & key as you want.
    }
}
于 2013-07-17T07:51:25.733 回答