在NSArray中保存JSon数据

时间:2012-03-26 07:19:32

标签: xcode arrays json nsarray

我正在尝试保存一些特定的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。有什么建议吗?

2 个答案:

答案 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