使用 RESTKIT 0.20 映射未命名值的 JSON 数组

Posted

技术标签:

【中文标题】使用 RESTKIT 0.20 映射未命名值的 JSON 数组【英文标题】:Mapping a JSON array of unnamed values with RESTKIT 0.20 【发布时间】:2013-03-13 07:43:05 【问题描述】:

当我配置从返回 JSON 到对象的 REST 服务的映射时,我通常会这样做:

RKObjectMapping *myMapping = [RKObjectMapping mappingForClass:[MyClass class]];
[myMapping addAttributeMappingsFromDictionary:@@"Address" : @"address", @"City" : @"city"];

这对于具有命名属性的 JSON 非常有效,但是如何将以下 JSON 映射到具有属性“name”的对象?

["My Value","Some other value","More stuff","Hello World"]

这个 JSON 只是一个值数组,没有名称/键值。如何使用 RESTKIT 0.20 将其映射到对象?

谢谢 索伦

【问题讨论】:

【参考方案1】:

方括号中的这个表达式是一个 json 数组:http://www.json.org。如果您查看主页上的语法树,您可以认为,每个 json 数组都是一个带有名称的“变量”的值。这意味着您的表达式必须如下所示,才能成为有效的 json:

 "myArray": ["My Value","Some other value","More stuff","Hello World"] 

然后像往常一样映射它:

[myMapping addAttributeMappingsFromDictionary:@@"myArray" : @"myArray"];

映射目标类中的参数MyArray 的类型为NSArray

【讨论】:

以上是关于使用 RESTKIT 0.20 映射未命名值的 JSON 数组的主要内容,如果未能解决你的问题,请参考以下文章

RestKit 0.20:restkit 对象映射使属性映射加倍

Restkit 0.20 嵌套对象数组映射问题

使用 RestKit 0.20 的对象映射关系

RestKit 0.20 嵌套对象映射问题使用 API

RestKit 0.20:映射复杂的动态嵌套 JSON

使用 RestKit 0.20 对集合进行自定义请求映射