如何从 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 项目)
RestKit:给定 RKObjectMapping、object.class 和 JSON 字符串,如何获取映射对象?