最近在使用ajax请求返回json的过程中,发现返回的内容中带有转义符会导致解析json时出现问题。
下面是一个例子,我们使用ajax请求一个json数据,结果返回的数据中带有转义符:
{ "name": "小明","age": 18,"address": "北京市朝阳区西大望路123号\"慧谷E天地\"楼C座9层" }
在解析这个json数据时,如果直接使用JSON.parse解析,会出现语法错误的情况:
var data = '{"name": "小明","address": "北京市朝阳区西大望路123号\"慧谷E天地\"楼C座9层"}'; var result = JSON.parse(data); // 语法错误
解决方法是先将数据中的转义符进行处理,可以使用replace方法将转义符替换成对应的字符:
var data = '{"name": "小明","address": "北京市朝阳区西大望路123号\\"慧谷E天地\\"楼C座9层"}'; var result = JSON.parse(data.replace(/\\/g,"")); // {"name": "小明","address": "北京市朝阳区西大望路123号"慧谷E天地"楼C座9层"}
这样处理后,就可以成功地解析json数据了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。