后台提供的接口格式如下:
- 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];
- NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
然后再将这个jsonString放到key“data”对应的Value下,上传,搞定!
在使用ASIHttpRequest请求网络的时候,该方法也可以使用。
如果早知道就不用浪费一个上午的时间了,必须记下来。