RestKit JSON 映射
Posted
技术标签:
【中文标题】RestKit JSON 映射【英文标题】:RestKit JSON Mapping 【发布时间】:2015-02-24 21:57:51 【问题描述】:我已经给出 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】:您不能直接使用discounts.XXX
进行映射,因为discounts
是一个数组,您无法对该数组进行索引并提取单个值。
您要么需要更改源 JSON 以从字典中压缩值,要么创建一个自定义对象,您可以将 discounts
数组中的每个项目映射到该对象。
从技术上讲,您可以映射整个 discounts
数组,这将为您提供一个字典数组,然后您可以在 setter 方法中解包,但自定义对象数组通常是更好的方法。
【讨论】:
它帮助了我。我已将映射关系嵌套数组映射为单独的字典。以上是关于RestKit JSON 映射的主要内容,如果未能解决你的问题,请参考以下文章