如何从 RestKit 中的 JSON 数组进行映射 [重复]

Posted

技术标签:

【中文标题】如何从 RestKit 中的 JSON 数组进行映射 [重复]【英文标题】:How to make mapping from JSON array in RestKit [duplicate] 【发布时间】:2013-10-29 15:19:29 【问题描述】:

我有一个包含特定字段元素数组的映射案例,如下例所示。我在酒店和设施之间建立了关系,但我无法获得值(A、B、C),因为它没有标识符名称。什么是正确的值可以在XXX中设置为name做映射

JSON :

 "hotel":
 property_amenities":["A","B","C"]
 

Mapping :
 [hotelDetailEntityMapping addAttributeMappingsFromDictionary:@
@"XXX"               : @"name", 
];

【问题讨论】:

请尝试更好地解释自己 你能把你的真实代码放上来看看你到底在做什么吗? 【参考方案1】:

假设它是反序列化的:

NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingMutableContainers error: &error];

dict[@"property_amenities"][0] -> A

dict[@"property_amenities"][1] -> B

【讨论】:

我使用了 RestKit 框架如何获取值?【参考方案2】:

我猜你想得到 A、B 和 C,那么你需要这样做:

//Assume you have in a NSDicionary dictionary your JSON, then:
NSArray * propertyAmenities = dictionary[@"property_amenities"];

NSLog(@"%@", propertyAmenities[0])); // You get A

已编辑:

如果你还没有在 nsdictionary 中找到你的 json,请查看下面我来自 @Grzegorz Krukowski 的答案

【讨论】:

【参考方案3】:

我找到了如下代码的解决方案。

这是正确的映射: [hotelDetailEntityMapping addPropertyMapping:[RKAttributeMapping attributeMappingFromKeyPath:nil toKeyPath:@"name"]];

【讨论】:

以上是关于如何从 RestKit 中的 JSON 数组进行映射 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

从数组中删除项目(来自 API 的带有 JSON 的 Restkit 项目)

如何使用对象映射器从响应 JSON 映射子数组?

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

Restkit 将多个 json 提要映射到同一个数组

使用 RESTkit 从 JSON 映射来自 NSManagedObject 的 NSString 数组

RestKit 2.0 - 将 json 数组映射到实体关系会丢失数组序列