2

MKNetworkOperation *op = [self operationWithPath:@"thestore/services/storeservice.svc/getfavorites" params:fetchedObjects httpMethod:@"POST"];

fetechedObjects は配列です。配列をループして、POST リクエストの本文に入力する必要がある値を取得できます

[
 {
     "id": 9222,
    "latitude": 19.7897,
    "longitude": -64.0208
 },
 {
     "id": 7832,
     "latitude": 79.7713,
     "longitude": -44.1084
 }
]

しかし、MKNetworkOperation の使用方法がわかりません。

4

3 に答える 3

4

最初に試行することpostDataEncodingは、操作のプロパティをに設定することMKNKPostDataEncodingTypeJSONです。これにより、配列シリアル化され、リクエスト本文として設定されます。

ただし、実際にはパラメーターMKNetworkKitの配列値をサポートしていません。params辞書が必要です。間違ったコード パスにヒットすると、配列を提供した辞書が必要になるため、クラッシュする可能性があります。

于 2012-06-20T18:19:03.737 に答える
2

これはおそらくあなたを助けるはずです。

  [op setCustomPostDataEncodingHandler:^NSString *(NSArray *listOfItems) {

    return [listOfItems description];

  } forType:@"text/json"];
于 2012-07-26T03:34:16.833 に答える
1

配列(製品)をリストとして送信することで解決しました:

NSData *data = [NSJSONSerialization dataWithJSONObject:products options:0 // 非プリティ印刷エラー:nil]; ; [params setObject:[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] forKey:@"list"];

于 2015-01-27T13:24:29.383 に答える