afn在请求参数为数组的时候在字段名后面自动添加[]的问题

今天项目后台一个接口要求参数为数组,但是因为后台的设置,无法用json传递,所以设置了

dataManager.requestSerializer = [AFHTTPRequestSerializer serializer];

但是在传参过程中发现后台收到的数组的字段自动加了[],
如:我传的参数为

{
 sj_bmmc  = [
 东河沿村
]
}

后台收到的为

{
"sj_rymc[]": "东河沿村"
}

然后一直报500的错误。。
解决方法:
找到AFURLRequestSerialization.m文件
然后找到里面的一个方法

      [mutableQueryStringComponents addObjectsFromArray:AFQueryStringPairsFromKeyAndValue([NSString stringWithFormat:@"%@[]", key], nestedValue)];

去掉其中的[]

[mutableQueryStringComponents addObjectsFromArray:AFQueryStringPairsFromKeyAndValue([NSString stringWithFormat:@"%@", key], nestedValue)];

当然,如果你能确定数组里面不会出现没有重复的时候,可以直接用NSSet也可以

你可能感兴趣的:(afn在请求参数为数组的时候在字段名后面自动添加[]的问题)