RestKit RKObjectMapping .. 嵌套和一次性对象

Posted

技术标签:

【中文标题】RestKit RKObjectMapping .. 嵌套和一次性对象【英文标题】:RestKit RKObjectMapping.. Nested & throwaway objects 【发布时间】:2015-06-16 16:30:09 【问题描述】:

所以,我有一个 api 调用,它将以以下格式输出一些原始 json...

有点乱,但我只对这个 json 的 Mapping 部分感兴趣。如果我可以访问原始数据,我会将 json 剪切序列化为我想要迭代的字典/数组。但是客户端正在使用 restkit,这似乎并不像我想象的那么容易。 ...

此外,我应该如何处理“图像”部分?同样,如果使用序列化 json 执行此操作,我可以打开字典并使用 name description 等将里面的内容设置为对象...我也可以这样做吗?


  "rsp": 

       sn         : "SerialNumber",
       name       : "Service Name",
       from       : "2000-01-01T00:00:00.000+01:00",
       to         : "2000-01-02T00:00:00.000+01:00",
       mappings : 

           "mapping" : 

              "1" : 

                      from     :    2000-06-01T00:01:00.000+01:00
                      to       :    2000-06-01T01:02:00.000+01:00
                      content  : 

                         name        : "name"
                         description : "description"
                         images : 
                            image : "b47ab5a8.png"
                         
                      
               ,
              "2" : 

                      from     :    2000-06-01T00:01:00.000+01:00
                      to       :    2000-06-01T01:02:00.000+01:00
                      content  : 

                         name        : "name"
                         description : "description"
                         images : 
                            image : "b47ab5a8.png"
                         
                      
               ,

               // etc...

我的问题是

 // what goes here

 RKObjectMapping *itemMapping = [RKObjectMapping mappingForClass:[MYItem class]];

[itemMapping addAttributeMappingsFromDictionary:@@"description":@"itemDescription",
                                 @"name":@"name"];

我如何将图像添加到MYItem

【问题讨论】:

【参考方案1】:

对于图像,您的映射类似于:

[itemMapping addAttributeMappingsFromDictionary:@@"description":@"itemDescription",
                               @"name":@"name",
                               @"images.image":@"image"];

即关键路径有效 但是,并不是说它们只适用于字典。你不能以同样的方式任意索引数组。

关键路径也在响应描述符中,这就是你如何深入到mapping,即rsp.mappings.mapping(同样,因为它是字典)。

【讨论】:

以上是关于RestKit RKObjectMapping .. 嵌套和一次性对象的主要内容,如果未能解决你的问题,请参考以下文章

RestKit RKObjectMapping Swift 可选

RestKit RKObjectMapping 嵌套 json

CocoaPods 更新 RestKit #import "RKObjectMapping.h" 文件未找到

如何使用带有 RKObjectMapping 的 RestKit 0.24 将本地 JSON 字符串映射到对象?

使用 RKParams 向 API 发布帖子并使用 RestKit 使用 RKObjectMapping 映射响应

RestKit:给定 RKObjectMapping、object.class 和 JSON 字符串,如何获取映射对象?