NSDictionary 中的嵌套对象与 RestKit

Posted

技术标签:

【中文标题】NSDictionary 中的嵌套对象与 RestKit【英文标题】:Nested objects in NSDictionary with RestKit 【发布时间】:2012-08-21 14:30:26 【问题描述】:

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


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

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

现在我想将带有键“object”的对象的内容映射到 NSDictionary,因为它可以轻松访问随机键。但是,由于存储在这些键上的对象的架构是已知的,因此我希望将它们映射到自定义对象。

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

【问题讨论】:

可能重复:***.com/questions/11912731/… 【参考方案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;
;

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于NSDictionary 中的嵌套对象与 RestKit的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot 中的 Rest 服务需要来自 GET 请求的 JSON 中的嵌套对象

从 CoreData 在 NSDictionary 中制作嵌套 JSON

Django Rest Framework:将嵌套 json 字段中的数据序列化为普通对象

如何将变量与 NSArray 中的 NSDictionary 中的对象进行比较?

如何在 django rest 框架中的嵌套序列化器相关对象上使用 prefetch_related?

如何使用 NSDictionary 收集嵌套在数组中的 JSON 数据