我坚持使用这个JSON,我必须加载到Core Data:
{
"versions": {
"group12": "2662ad279e1c4303b534a0f363be7b90",
"group51": "2205e48de5f93c784733ffcca841d2b5",
"place123": "856babf68edfd13e2fd019df330e11c5"
}
}
我不知道如何在forin
循环中处理这个问题。现在我有一些代码只显示版本的名称,例如group12
,group51
但我无法从这个JSON中获取这些哈希值......
for (id activity in [responseObject objectForKey:@"versions"]) {
NSLog(@"%@", activity);
}
可能这将是一些非常基本的东西,但我今天的想法有点偏外。
答案 0 :(得分:1)
您当前只记录了字典中的密钥
获取该键的对象
for (id activity in responseObject[@"versions"]) {
NSLog(@"%@", activity); // key
NSLog(@"%@", responseObject[@"versions"][activity]); // value
}
答案 1 :(得分:1)
您从NSDictionary *
返回[responseObject objectForKey:@"versions"]
。如果在字典上使用快速枚举,则只能获得密钥。但是如果你想要键和值使用
[[responseObject objectForKey:@"versions"]
enumerateKeysAndObjectsUsingBlock:^(id key, id object, BOOL *stop){
// do something with key & object
}]
如果你知道,你的字典中总是有NSString *
个对象,你可以专门化参数的类型。虽然在代码生成过程中这不会改变任何内容,但如果您尝试使用密钥上的方法或NSString
未实现的对象,它将为您提供更好的代码完成和警告/错误。