2015-02-24 153 views
0

我已经给出JSON并且不能分析部分数据。这似乎解释到词典:RestKit JSON映射

{ 
    "products": [ 
     { 
      "id": 6796, 
      "title": "my title", 
      "description": "desc", 
      "code": "12345", 
      "valueType": "null", 
      "discounts": [ 
       { 
        "minPrice": null, 
        "maxPrice": null, 
        "value": 20, 
        "avail": false 
       } 
      ] 
     } 
    ] 
} 

我使用的是最新版本的RESTKit的,但我不能正确discounts下解析。

我RestKit设置:

responseMapping.addAttributeMappingsFromDictionary([ 

      "id"      : "id", 
      "code"      : "code", 
      "title"      : "title", 
      "valueType"     : "valueType", 
      "description"    : "desc", 
      "discounts.minPrice"  : "minPrice", 
      "discounts.maxPrice"  : "maxPrice", 
      "discounts.value"   : "value", 
      "discounts.avail" : "avail", 
      ]) 

但低于折扣的所有值总是返回零。我做错了什么?

回答

1

您不能直接使用discounts.XXX进行映射,因为discounts是一个数组,您无法将该数组编入索引并提取一个值。

您可能需要更改源JSON以将值压缩出字典,或者创建一个自定义对象,您可以将discounts数组中的每个项目映射到该自定义对象。

从技术上讲,你可以映射整个discounts数组,这会给你一个字典数组,然后你可以在setter方法中解压缩,但是自定义对象数组通常是更好的方法。

+0

谢谢我会尝试并更新你 – Anton 2015-02-24 22:37:25

+0

它帮助了我。我已经将映射关系嵌套数组映射为分离的字典。 – Anton 2015-02-25 14:03:14