带有RestKit的NSDictionary中的嵌套对象

时间:2012-08-21 14:30:27

标签: objective-c ios restkit

我有一个JSON文档,其中包含具有未知键的对象中具有已知模式的对象,我想用RestKit映射它。让我解释一下:

{
    "object":
    {
        "unknownKey1" : {"data1" : "...", "data2" : "..."},
        "unknownKey2" : {"data1" : "...", "data2" : "..."},
        "unknownKey3" : {"data1" : "...", "data2" : "..."}
    }
}

使用键“object”设置对象仅在运行时已知。对象中包含的键具有随机名称。但是,我知道存储在这些未知密钥中的对象的确切模式。

现在我想用关键字“object”将对象的内容映射到NSDictionary,因为它提供了对随机密钥的轻松访问。但是,由于存储在这些键上的对象的模式是已知的,我希望它们映射到自定义对象。

那么有可能映射到包含这些对象的NSDictionary吗?我还没有找到解决方案......

2 个答案:

答案 0 :(得分:3)

你可以这样做:

RKObjectMapping* mapping = [RKDynamicObjectMapping dynamicMapping];
mapping.objectMappingForDataBlock = ^(id data) {
    NSDictionary* object = [data objectForKey: @"object"];
    NSArray* keys = [object allKeys];

    RKObjectMapping* dataMapping = [RKObjectMapping objectMapping];
    //Use the keys to define mapping
    return dataMapping;
};

答案 1 :(得分:0)

也许请查看JSONKit https://github.com/johnezang/JSONKit以从您的JSON文档创建NSDictionary。