ios post传输dictionary到服务器端是否为json格式?

Carmelo-01 2014-08-23 12:58:10
我现在在用MKNetwork,我看一个demo发现用post方式发送是先将参数封装在NSdictionary中,虽然参数里面包含字符串“JSON”,但是最后用MKNEetworkOperation发出去的数据就是dictionary,好像没有把dictionary转成json再发出去啊?还是dictionary本身已经是json格式了?我的小伙伴在服务器端写了个函数,但是函数接收的参数是c#的string,我想问发dictionary的话服务器的接收到的是jason格式的string吗?
...全文
511 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
s478853630 2014-11-25
  • 打赏
  • 举报
回复
纠正一下,之前一直在写java代码,ios才写了一个多月 所以变量名(NSMutableDictionary *map)都习惯用java那一套了,是在不好意思 其实都面向对象,逻辑都一样
s478853630 2014-11-25
  • 打赏
  • 举报
回复
ios中使用dictionary封装的键值对中的key,就是需要在服务器端根据key拿到value 但不是json格式,如果你做过web开发,你就很清楚了,比如javaee代码: String value = request.getParameter("key"); 假如ios代码为: NSMutableDictionary *map = [NSMutableDictionary dictionary]; [map setValue:@"1" forKey:@"id"]; [map setValue:@"zhangsan" forKey:@"name"]; 到服务器就变成:id=1&name=zhangsan 同样也是键值对的关系,多个参数用&隔开 可想而知,如果你的参数中包含&这些特殊符号,比如:[map setValue:@"zhang&san" forKey:@"name"]; 那么这个参数必须要用URLEncoder进行UTF-8编码,否则是传不过去的
Happy_Code 2014-11-25
  • 打赏
  • 举报
回复
[op setPostDataEncoding:MKNKPostDataEncodingTypeJSON];
ReyZhang 2014-08-23
  • 打赏
  • 举报
回复
上面拼写错误,更正 request.Form[key];
ReyZhang 2014-08-23
  • 打赏
  • 举报
回复
post到服务器端的应该是json格式,ios中使用dictionary封装的键值对中的key,就是需要在服务器端根据key拿到value.如c#
string value = request.From[key];
Bannings 2014-08-23
  • 打赏
  • 举报
回复
MKNetwork在真正开始请求的时候,会把dictionary转成json格式的字符串,它之所以在外面使用dictionary,是为了方便你把key-value封装起来。

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧