iOS 如何用post方式上传json数据


今天在做项目的时候,搞了一个上午时间上传一个json串数据,与后台沟通N次没有结果,仔细研究了自己的数据结构与后台接口的数据结构,发现数据格式是没有问题的,后台提供的接口格式如下:
api/mobile/?version=2&module=medicine_project&op=addproject
POST提交
name:我的方案
starttime:2014-3-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格式,可是苦于想不出来,然后百度又找不到对应的。最后多亏同事小董提醒,之前他上传的时候有过类似情况,叫我看看他的方案:
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:data options:NSJSONWritingPrettyPrinted error:&error];//此处data参数是我上面提到的key为"data"的数组
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
然后再将这个jsonString放到key“data”对应的Value下,上传,搞定!

在使用ASIHttpRequest请求网络的时候,该方法也可以使用。

如果早知道就不用浪费一个上午的时间了,必须记下来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值