如何用post方式上传json数据(AFNetworking)

来源:互联网 发布:java http 幂等 编辑:程序博客网 时间:2024/06/14 05:11
后台提供的接口格式如下:
[html] view plain copy
 print?
  1. api/mobile/?version=2&module=medicine_project&op=addproject  
  2. POST提交  
  3. name:我的方案  
  4. starttime:2014-3-5  
  5. data:方案详细:[{"medicine":242,"num":5,"diet_time":2},{"medicine":247,"num":5,"diet_time":2}]   
我用字典套数组的方式,key值“name”,“starttime”对应都是字符串,传到后台是正确的,然后key对应“data”的是一个数组,然后数组里是字典,key分别是“medicine”,“num”,“diet_time”,(ps:我用的是AFNetWorking),传到后台之后,总是被后台解析成别的格式,郁闷了一个上午,总觉得应该在哪个地方把值转一下,转成json格式,可是苦于想不出来,然后百度又找不到对应的。最后多亏同事小董提醒,之前他上传的时候有过类似情况,叫我看看他的方案:
[objc] view plain copy
 print?
  1. NSError *error;  
  2. NSData *jsonData = [NSJSONSerialization dataWithJSONObject:data options:NSJSONWritingPrettyPrinted error:&error];//此处data参数是我上面提到的key为"data"的数组  
  3. NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];  
然后再将这个jsonString放到key“data”对应的Value下,上传,搞定!
在使用ASIHttpRequest请求网络的时候,该方法也可以使用。
如果早知道就不用浪费一个上午的时间了,必须记下来。
阅读全文
0 0