如何循环访问从JSON获得的以下字典?我如何循环才能获得id 0001,0002?
{
0001 = {
userName = "a";
photo = "";
};
0002 = {
userName = "b";
photo = "";
};
}
答案 0 :(得分:3)
您通过NSDictionary
键循环:
NSArray *keys = [dictionary allKey];
for (id *key in keys ) {
NSDictionary *userPhoto = [dictionary objectForKey:key];
// here you can either parse the object to a custom class
// or just add it to an array.
}
或直接在NSDictionary
上使用fast enumeration:
for (id *key in dictionary ) {
NSDictionary *userPhoto = [dictionary objectForKey:key];
// here you can either parse the object to a custom class
// or just add it to an array.
}
每个键可以检索对象。
或使用enumerateKeysAndObjectsUsingBlock:
[dictionary enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
// Here you can access the object and key directly.
}
答案 1 :(得分:1)
试试这种方式......
获取所有密钥
NSArray *a=[yourDictionary allKeys];
答案 2 :(得分:0)
NSArray *keys = [dictionary allKeys];
试试这个。您将获得数组中的所有键。然后你可以相应地在NSString
中获取它们。
答案 3 :(得分:0)
另一种选择是使用enumerateKeysAndObjectsUsingBlock:
api来枚举键和对象,
使用非常简单,
[dictionary enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
NSLog(@"Key: %@, Value:%@",key,obj);
if([key isEqualToString:@"0001"]) {
//Do something
}
// etc.
}];
希望有所帮助!
答案 4 :(得分:-1)
我找到了答案。我已经尝试使用以下代码,但它提供了所有数据。 因为我得到的json是worng格式。
for (NSString *key in Dict) {}