RestKit JSON映射

时间:2015-02-24 21:57:51

标签: ios json swift restkit restkit-0.20

我已经提供了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",
            ])

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

1 个答案:

答案 0 :(得分:1)

您无法使用discounts.XXX直接映射,因为discounts是一个数组,您无法索引该数组并提取单个值。

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

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