3

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

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

仅在运行时才知道带有键“object”的对象的设置。对象中包含的键具有随机名称。但是,我知道存储在这些未知键中的对象的确切架构。

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

那么是否有可能映射到包含这些对象的 NSDictionary?我还没有找到解决办法...

4

2 回答 2

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;
};
于 2012-08-21T14:43:25.177 回答
0

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

于 2012-08-21T14:46:03.870 回答