首页IT科技json去除转义字符方法(如何去除js中的json存在的转义字符\问题)

json去除转义字符方法(如何去除js中的json存在的转义字符\问题)

时间2025-05-05 16:20:54分类IT科技浏览5490
导读:去除js中的json存在的转义字符\ js中打印出的示例...

去除js中的json存在的转义字符\

js中打印出的示例

执行

console.log(JSON.stringify(d).toString()),得到以下信息:

{"businessNumber":"HT-2019001","filesInfo":"[{\"fileName\":\"test.jpg\",\"groupName\":\"group1\",\"fdfsId\":\"M00/00/00/rBMBBERDSsGAWFZFAAEe88kVsg8661.jpg\"},{\"fileName\":\"test02.sql\",\"groupName\":\"group1\",\"fdfsId\":\"M00/00/00/rBMAA12ENqmAERVQAAAfFFZ78oA526.sql\"}]"}

console.log(JSON.stringify(d).toString().replace(new RegExp("\\\\\"","gm"),"\"")),得到以下信息:

{"businessNumber":"HT-2019001","filesInfo":"[{"fileName":"test.jpg","groupName":"group1","fdfsId":"M00/00/00/rBMBBERDSsGAWFZFAAEe88kVsg8661.jpg"},{"fileName":"test02.sql","groupName":"group1","fdfsId":"M00/00/00/rBMAA12ENqmAERVQAAAfFFZ78oA526.sql"}]"}

结论:js中的json串出现单个反斜杠 \ 时             ,替换需要用 \\\\              。

从控制层返回到js的json数据带“\            ”转译符                  ,如何去掉

场景

写了一个ajax,调用url后       ,从控制层返回的数据是json格式                  。

ajax的内容是          ,里面注释有说明:

$.ajax({                 url : ${base}/commonDialog/applyCis5ZZCAntiReport?appNo=${(appNo)!}+&loanType=+loanType+                           &loanAmount=+loanAmount+&loanPurpose=+loanPurpose+&loanTerm=+loanTerm+                           &custName=+custName+&mobile=+mobile+&idNo=+idNo,                 type : "post",                                 success:function(res){<#--url调用结束后                  ,返回的数据在res中-->                     $("#result").empty();<#--result是一个div的id       。可不用考虑-->                     var json="";                     json=JSON.stringify(res,null, 4);<#--这里小编也不懂啥意思          ,应该是json转var格式吧!-->                     $("#result").append(json);<#--把返回的结果追加到div中       ,此时追加的内容就是满屏的转译符"\">                 }             })         });

百度了很多办法                  ,都没有解决             ,最多的就是使用replacet替换    ,最接近预想结果的是在上面的success方法中                   ,加上:

var json=res.replace("\\",""); $("#result").append(json);

这个方法确实是去掉不少转译符"\".但是在遇到层级比较复杂的json字符串                ,就难免有漏网之鱼,因为毕竟不是从造成此种情况的根本原因着手解决的          。

js是支持json格式的                ,从后台到前端如果没有指定数据格式                   ,应该会默认是字符串的    ,把json格式数据/toString()打印到控制台是带有"\"的                  。

因此只要在ajax中指定返回数据的格式就行了!加上“dataType:json                    ”即可          。

type:"post"  dataType:"json",

以上为个人经验             ,希望能给大家一个参考                  ,也希望大家多多支持本站       。

声明:本站所有文章       ,如无特殊说明或标注          ,均为本站原创发布                  。任何个人或组织                  ,在未征得本站同意时          ,禁止复制            、盗用                    、采集      、发布本站内容到任何网站         、书籍等各类媒体平台             。如若本站内容侵犯了原著者的合法权益       ,可联系我们进行处理    。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
搜索关键字排行榜(挑选高效的搜索关键词软件,助力电商规模化发展)