今天项目后台一个接口要求参数为数组,但是因为后台的设置,无法用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也可以