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