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 に答える