我有一个JSON文档,其中包含具有未知键的对象中具有已知模式的对象,我想用RestKit映射它。让我解释一下:
{
"object":
{
"unknownKey1" : {"data1" : "...", "data2" : "..."},
"unknownKey2" : {"data1" : "...", "data2" : "..."},
"unknownKey3" : {"data1" : "...", "data2" : "..."}
}
}
使用键“object”设置对象仅在运行时已知。对象中包含的键具有随机名称。但是,我知道存储在这些未知密钥中的对象的确切模式。
现在我想用关键字“object”将对象的内容映射到NSDictionary,因为它提供了对随机密钥的轻松访问。但是,由于存储在这些键上的对象的模式是已知的,我希望它们映射到自定义对象。
那么有可能映射到包含这些对象的NSDictionary吗?我还没有找到解决方案......
答案 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。