如何通過從JSON獲取的以下字典進行循環?我如何循環獲取只有ID 0001,0002?如何從JSON中獲取循環NSDictionary?
{
0001 = {
userName = "a";
photo = "";
};
0002 = {
userName = "b";
photo = "";
};
}
如何通過從JSON獲取的以下字典進行循環?我如何循環獲取只有ID 0001,0002?如何從JSON中獲取循環NSDictionary?
{
0001 = {
userName = "a";
photo = "";
};
0002 = {
userName = "b";
photo = "";
};
}
我找到了答案。我已經嘗試了下面的代碼,但它提供了所有的數據。 因爲我得到的json是worng格式。
for (NSString *key in Dict) {}
試試這個方法...
獲取所有按鍵
NSArray *a=[yourDictionary allKeys];
NSArray *keys = [dictionary allKeys];
試試這個。您將獲得數組中的所有密鑰。然後你可以相應地在NSString
。
您環路直通的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爲漂亮的解釋:) –
*「有循環通一的NSDictionary沒有真正的方法」 * - 這是不正確的。 'for(NSString * key in dict)'* *列舉字典鍵,所以你不需要'allKeys'。並且有'enumerateKeysAndObjectsUsingBlock:'... –
@MartinR你是對的,它也會通過鍵循環 – rckoenes
另一種方法是使用enumerateKeysAndObjectsUsingBlock:
API來枚舉密鑰和對象,
用法很簡單,
[dictionary enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
NSLog(@"Key: %@, Value:%@",key,obj);
if([key isEqualToString:@"0001"]) {
//Do something
}
// etc.
}];
希望幫助!
'NSDictionary'中的鍵不必是'NSString'類型,因爲在你的例子中鍵將會是'NSNumbers' – rckoenes