0

我有一个问题,RestKit 用 ( 括号而不是 [ 括号来包装我的数组的序列化。

有没有办法为特定数据类型自定义/设置分隔符/包装字符?

我最终得到了这个:

Media =     (
            {
        Description = Observation;
        IsPrimaryMedia = 0;
        Licence = "BY-NC-SA";
        MediaResourceId = "mediaresources/24";
    }
);

当我真正想要的是:

Media =     [
            {
        Description = Observation;
        IsPrimaryMedia = 0;
        Licence = "BY-NC-SA";
        MediaResourceId = "mediaresources/24";
    }
];

我试图将 Form 和 JSON 之间的 serializationMIMEType 更改为无效。

4

1 回答 1

0

我不确定是什么导致我的序列化为数组而不是 [] 添加非 JSON 兼容 () 包装器,但为了解决它,我将 JSON 字符串作为 RKObjectLoader 参数传递,如下所示:

RKObjectManager *manager = [RKObjectManager sharedManager];

[manager sendObject:nil toResourcePath:theurl usingBlock:^(RKObjectLoader *loader) {

        NSDictionary *d = ... from parameters..

        NSError *e;
        NSData *jsonData = [NSJSONSerialization dataWithJSONObject:d options:0 error:&e];

        NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
        loader.params = [RKRequestSerialization serializationWithData:[jsonString dataUsingEncoding:NSUTF8StringEncoding] MIMEType:RKMIMETypeJSON];

    }];
于 2012-11-20T11:47:47.213 回答