我正在尝试保存一些特定的JSon数据并将它们存储在一个简单的NSArray中。
这是我的JSon:
products = {
72 = {
value_a = "something1";
value_b = "something2";
value_c = "something3";
};
73 = {
value_a = "something1";
value_b = "something2";
value_c = "something3";
};
74 = {
value_a = "something1";
value_b = "something2";
value_c = "something3";
};
[etc]
}
这就是我在NSMutableArray中分配JSon数据的方法。
NSMutableArray *array = [json objectForKey:@"products"];
我需要的是存储数组中每个子节点的value_b。有什么建议吗?
答案 0 :(得分:4)
这里有一个包含键/值的字典,其中值也是字典。如果你需要一个包含这些词典的数组,比如value_b,你就可以这样:
NSDictionary *products = [json objectForKey:@"products"];
NSMutableArray *b_values = [[NSMutableArray alloc] initWithCapacity:0];
for (NSDictionary *product in [products allValues])
{
[b_values addObject:[product valueForKey:@"value_b"]];
}
// Now you have an array with all "value_b" objects
答案 1 :(得分:1)
我不知道你在用什么,但我建议你使用SBJsonFramework
此工具包具有非常方便的方法来存储json数据。将所有Json数据存储在
中的NSMutableDictionary
然后,对于每个对象,您可以使用键提取特定值以将其存储在
中的NSMutableArray