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]; ; [参数 setObject:[[NSString alloc] initWithData:数据编码:NSUTF8StringEncoding] forKey:@"list"];

于 2015-01-27T13:24:29.383 回答