在NSDictionary中嵌套的对象与RestKit(Nested objects in NSDi

2019-06-27 05:17发布

我有一个包含与未知键的对象与已知的模式对象的JSON文件和我会喜欢映射与RestKit。 让我来解释这一点:

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

对象与关键“对象”的设置仅在运行时知道。 包括在对象中的密钥具有随机的名字。 但是,我知道存放在这些未知键对象的确切模式。

现在我想,因为它提供易于访问随机密钥对象与重点“对象”的内容,以一个NSDictionary的映射。 然而,随着存储在这些键的对象的模式是已知的,我想他们被映射到自定义对象。

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

Answer 1:

你可以这样做:

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;
};


Answer 2:

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



文章来源: Nested objects in NSDictionary with RestKit