我正在使用 POST 和 AFNetworking 从服务器接收和发送数据。在其中一种情况下,我得到了下一个 JSON:
{
20 = "Some text";
25 = "some other text";
}
JSON的内容是未知的,我只知道会有一个数字等于一些文本。通常我使用 valueForKey 但在上面我不知道密钥将是什么。如何将上述内容解析为任何分隔 id 和文本的数组?
谢谢
我正在使用 POST 和 AFNetworking 从服务器接收和发送数据。在其中一种情况下,我得到了下一个 JSON:
{
20 = "Some text";
25 = "some other text";
}
JSON的内容是未知的,我只知道会有一个数字等于一些文本。通常我使用 valueForKey 但在上面我不知道密钥将是什么。如何将上述内容解析为任何分隔 id 和文本的数组?
谢谢
使用下面的代码从字典中查找键列表,您可以使用键进一步执行操作。
NSArray *keys = [yourdict allKeys];
将其转换为这样的字典:
NSDictionary *dataDictionary = [NSJSONSerialization JSONObjectWithData:*yourJSONObject* options:NSJSONReadingMutableContainers error:nil];
然后用这里其他人已经提到的方法获取密钥
[dataDictionary allKeys];
我认为您所指的 JSON 是字典类型。
IE
{
20 : "Some text",
25 : "some other text"
}
如果是这种情况,那么一旦将其转换为对象...
NSDictionary *jsonObject = [NSJSONSerialization JSONObjectWithData:yourJSONData options:0 error:nil];
然后,您可以从中获取所有密钥...
NSArray *allTheKeys = [jsonObject allKeys];
然后,您可以迭代键数组以获取每个键的值。
试试这个说你 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.
}
}