**iOS发JSON请求中字符串加转义,返回的JSON去转义
iOS中使用NSSerialization把对象转为JSON字符串后,多出来反斜杠的问题
http://segmentfault.com/q/1010000000576646
NSDictionary *dic = @{@"url": @"http://..."};
NSLog(@"%@", dic);
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:nil];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
NSLog(@"%@", jsonString);
执行结果:
2014-06-12 14:44:19.427 main[64877:1322484] {
url = "http://...";
}
2014-06-12 14:44:19.429 main[64877:1322484] {
"url" : "http:\/\/..."
}
转换后的json字符串中url地址被转义了 :(
使用字符串替换可以事后弥补:
[jsonString stringByReplacingOccurrencesOfString:@"\\" withString:@""];
--------------------------------------------------------------------------
iOS 去除JSON里的转义符
今天帮朋友弄这个问题,json返回全都是带'\'的,于是要去掉这个反斜杠,但是OC里面的'\'是转义符,不能直接用@"\"之类的表示,一顿搜索之后,找到了OC对转义字符的表示方法,如下:
\a - Sound alert
\b - 退格
\f - Form feed
\n - 换行
\r - 回车
\t - 水平制表符
\v - 垂直制表符
\\ - 反斜杠
\" - 双引号
\' - 单引号
那么知道如何表示'\',去掉这个就是一个遍历的事了.代码如下:

1 NSMutableString *responseString = [NSMutableString stringWithString:[request responseString]];
2 NSString *character = nil;
3 for (int i = 0; i < responseString.length; i ++) {
4 character = [responseString substringWithRange:NSMakeRange(i, 1)];
5 if ([character isEqualToString:@"\\"])
6 [responseString deleteCharactersInRange:NSMakeRange(i, 1)];
7 }

当然 去除其他的转义符号同理.
**iOS发JSON请求中字符串加转义,返回的JSON去转义的更多相关文章
- requests(二): json请求中固定键名顺序&消除键和值之间的空格
继上一篇requests发送json请求的文章后,实际工作中遇到了以下2种情况. 1:服务端要求json字符串,键名的顺序固定 2.服务端对于接收到的json数据中,若key和value之间有空格, ...
- 接口测试返回的json文件中字符串是乱序
问题描述 接口测试中post方式匹配返回信息时显示不匹配, 但是statuscode明明是200, 而且用postman /restclient等工具测出来也是没问题的. 根本原因 封装了这么个方法来 ...
- struts2:JSON在struts中的应用(JSP页面中将对象转换为JSON字符串提交、JSP页面中获取后台Response返回的JSON对象)
JSON主要创建如下两种数据对象: 由JSON格式字符串创建,转换成JavaScript的Object对象: 由JSON格式字符串创建,转换成JavaScript的List或数组链表对象. 更多关于J ...
- IOS 在http请求中使用cookie
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://rainbird.blog.51cto.com/211214/805173 一直以 ...
- Json对象和字符串互相转换 数据拼接 JSON使用方式
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 一.JSON字符串转换为JSON对象: eval() 和 JSON.parse eg- json字符串: ...
- 校验字符串是否是JSON格式,将不规则展示的json格式的字符串进行规则展示(json格式化)
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] var str = {"code": "","svcname" ...
- Java后端发出post请求带参数并接收返回的json
核心代码: 参数格式: “key1=value1&key2=value2” /*** sendUrl (远程请求的URL)* param (远程请求参数)* JSONObject ...
- requests:json请求中中文乱码处理
requests库中,在处理json格式的请求时调用的json.dumps方法参数ensure_ascii默认为True.表示序列化时对中文默认使用的ascii编码.如果想要显示中文,则将此参数的值改 ...
- requests(三):json请求中中文乱码处理
最近收到一个问题:json格式请求数据中有中文,导致服务端签名失败. 问题详情: 一位同学在发送json格式的post请求时,请求数据中有中文内容: {"inputCodes":[ ...
随机推荐
- md5sum/opensll md5
http://m.blog.csdn.net/article/details?id=42041329 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5全称是报文摘要算法(Mess ...
- Sentence-seven basic patterns 英语句子结构
Meaning of some words subject 主语 verb 动词 object 宾语 adverbial 状语 complement 补语 imperative sentence 祈 ...
- webpack 多页面|入口支持和公共组件单独打包--转载
转载自:http://www.jb51.net/article/117490.htm 本篇主要介绍:如何自动构建入口文件,并生成对应的output:公共js库如何单独打包. 多入口文件,自动扫描入口. ...
- js原型解释图
- 安装MySQL5.7由于 Redistributable导致失败
今天上午安装MySQL5.7时一直提示 1: Action 10:59:21: INSTALL. 1: 1: MySQL Server 5.7 2: {F08E9C75-A42E-4962-8760- ...
- ip地址、子网掩码、DNS的关系与区别
首先ip地址可能表示内网或者外网地址: 内网也就是局域网,最直观的就是像网吧,公司内部的电脑用交换机,HUB,路由连起来的.再通过光钎.猫接入INTERNET的. 外网就像你家里的一台电脑.用猫拨号上 ...
- NCPC2016-E- Exponial
题目描述 Illustration of exponial(3) (not to scale), Picture by C.M. de Talleyrand-Périgord via Wikimedi ...
- select 的字段为空,给他显示默认值
select 的字段为空,给他显示默认值: 解决办法一: select id,name,(case when level is null then 0 else level end) as a fro ...
- Storm实现实时大数据分析
当今世界,公司的日常运营经常会生成TB级别的数据.数据来源囊括了互联网装置可以捕获的任何类型数据,网站.社交媒体.交易型商业数据以及其它商业环境中创建的数据.考虑到数据的生成量,实时处理成为了许多机构 ...
- Linux声音系统
TAG: linux, alsa, oss, pulseaudio, esd, aRts DATE: 2013-08-13 Linux声音系统有些混乱,它有三套音频驱动: OSS (Open Soun ...