RestKit 映射字符串数组以发布到服务器

Posted

技术标签:

【中文标题】RestKit 映射字符串数组以发布到服务器【英文标题】:RestKit mapping array of strings to post to server 【发布时间】:2013-09-25 05:47:55 【问题描述】:

我在将字符串数组发布到服务器时遇到了问题:

我的映射是这样的:

+(RKMapping*)occurrenceCreateMapping 

    RKObjectMapping *occurrenceCreateMapping = [RKObjectMapping requestMapping];

    [occurrenceCreateMapping addAttributeMappingsFromDictionary:@
     @"observedOn" :@"ObservedOn",
     @"latitude" :@"Latitude",
     @"longitude" :@"Longitude",
     @"address" :@"Address",
     @"host" :@"Host",
     @"pests" : @"Pests",
     @"networkId" :@"NetworkId",
     @"consignmentNumber" :@"ConsignmentNumber"
     ];

    return occurrenceCreateMapping;

但实际发布的是这样的:

这是无效的,因为我的服务器端模型绑定器需要一个字符串数组。

这是我的 OccurrenceCreate 类的代码:

@interface BBOccurrenceCreate : NSObject

@property (nonatomic, retain) NSDate *observedOn;

@property CGPoint location;

@property (nonatomic, retain) NSString  *latitude,
                                        *longitude,
                                        *address,
                                        *host,
                                        *consignmentNumber,
                                        *networkId;

@property (nonatomic,retain) NSArray *pests;

@end

谁能帮我把这个字符串数组映射到一个 json 数组?我想这应该很简单?!?!

【问题讨论】:

不记得正确的修复方法,需要加forceCollectionMapping吗? 这对我来说也很熟悉,但它不起作用 您是否明确设置了序列化类型(以及您想要的类型)? 就是这样 Wain - 如果你能把它作为答案,我可以给你打勾。干杯伙伴。 【参考方案1】:

您可能缺少序列化类型设置,因此 RestKit 默认为 form-url-encoded。显式设置序列化类型,指示 RestKit 生成 JSON。

【讨论】:

以上是关于RestKit 映射字符串数组以发布到服务器的主要内容,如果未能解决你的问题,请参考以下文章

IOS - RESTKIT - 以多种方式映射结果

Restkit 映射列表 - 没有响应描述符与加载的响应匹配

如何使用带有 RKObjectMapping 的 RestKit 0.24 将本地 JSON 字符串映射到对象?

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

RestKit - Nil 被映射到嵌套对象中以建立关系

使用 RestKit 将一个裸露的 URL 数组映射到核心数据实体