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
答案 0 :(得分:4)
首先要尝试将操作的postDataEncoding
属性设置为MKNKPostDataEncodingTypeJSON
。这个应该使数组被序列化并设置为请求体。
但是,MKNetworkKit
并不真正支持params
参数的数组值;它期待一本字典。如果你遇到错误的代码路径,它可能会崩溃,因为它需要一个你提供数组的字典。
答案 1 :(得分:2)
这应该可以帮到你。
[op setCustomPostDataEncodingHandler:^NSString *(NSArray *listOfItems) {
return [listOfItems description];
} forType:@"text/json"];
答案 2 :(得分:1)
我通过发送数组(产品)作为列表来解决它:
NSData * data = [NSJSONSerialization dataWithJSONObject:products 选项:0 //非漂亮打印 误差:无]; ; [params setObject:[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] forKey:@" list"];