RestKit:从JSON对象数组解析单维数组

时间:2014-07-14 11:29:41

标签: objective-c json restkit

我有一个基于键值的JSON数组,如下所示:

[
    {"key": "firstKey", "value": "firstValue"}, 
    {"key": "secondKey", "value": "secondValue"}
]

我需要将其转换为单维数组,例如,如果我只对JSON的“value”属性感兴趣,就像这样:

["firstValue", "secondValue"]

我必须使用什么样的对象映射来实现此目的?

我尝试将toKeyPath设置为nil,希望它将解析后的值直接分配给我的接收对象(在读取单维数组时,fromKeyPath设置为nil),但是没有不会发生。

2 个答案:

答案 0 :(得分:0)

NSError* error;
NSMutableArray* resultArray = [NSMutableArray array];
NSArray* jsonArray = [NSJSONSerialization objectWithData:receivedJSONData options:nil error:&error];
if (jsonArray == nil) {
    NSLog(@"Error: %@", error); // error occurred
}
else {
    for (NSDictionary* jsonDict in jsonArray) {
        [resultArray addObject: jsonDict[@"value"]];
    }
}

答案 1 :(得分:0)

您使用nil键路径映射处于正确的轨道上(假设您希望为简单数组中的每个值使用不同的对象),但是您需要将其与响应描述符组合,该描述符将钻取到数据中以提取使用其关键路径的简单数组。

因此,映射具有nil密钥路径,响应描述符具有XXX.value密钥路径(其中XXX是到达包含这些对象的数组的路径)。