AFNetworking 将数组作为字段参数传给服务器

前言

之前的项目上传数据的格式要求将数组作为字段数据进行post,结果直接上传之后发现服务器收到的数据之间带有[] ,网上找了各种资料无果。最后在AFNetworking的源码里找到了解决方法。

解决办法

1.在AFNetworking的源码中找到AFURLRequestSerialization这个类;

2.在.m文件中在AFQueryStringPairsFromKeyAndValue这个方法中,找到

else if ([value isKindOfClass:[NSArray class]]) {

         NSArray *array = value;

for (id nestedValue in array) {

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

}

随后将

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

中的"[NSString stringWithFormat:@"%@[]", key]" []去掉!

完成以上修改之后再上传数组字段数据就OK了!

当然这样的上传结构最好建议还是接口进行修改。

如果觉得对你有帮助的,麻烦点个赞哈~谢谢!

你可能感兴趣的:(AFNetworking 将数组作为字段参数传给服务器)