今天突然有个接口需要传数组参数,以前没用过,直接传,传过去的格式都不对,将数组参数变成json字符串发过去又有转义斜杠,于是各种查,最后通过2个别人写的文章,凑在一起,可以了。
以下是方案:
1、就找到AFURLRequestSerialization.m的AFQueryStringPairsFromKeyAndValue方法中
将原来(注释的)那行,替换为下面的一行,代码如下:
[mutableQueryStringComponents addObjectsFromArray:AFQueryStringPairsFromKeyAndValue((key ? [NSString stringWithFormat:@"%@[%@]", key, nestedKey] : nestedKey), nestedValue)];
2、在请求的地方组装数据,
// 构造参数
NSMutableArray *paramArrs = [NSMutableArray array];
for (int i = 0; i < _newsArrs.count ; i++ ) {
mod_news *model = _newsArrs[i];
NSDictionary *dict = @{@"id": model.newId,@"content":model.content};
[paramArrs addObject:dict];
}
NSDictionary *caculateParamsDic = @{@"parameter":paramArrs};
3、最后将caculateParamsDic传给后台即可。
最后还是个字典,不过字典里是数组结构了。
参考地址
https://www.jianshu.com/p/130daa0c2fe7
https://blog.csdn.net/david2427/article/details/70880359