如何去除js中的json存在的轉(zhuǎn)義字符\問題
去除js中的json存在的轉(zhuǎn)義字符\
js中打印出的示例
執(zhí)行
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"}]"}結(jié)論:js中的json串出現(xiàn)單個反斜杠 \ 時,替換需要用 \\\\ 。
從控制層返回到j(luò)s的json數(shù)據(jù)帶“\”轉(zhuǎn)譯符,如何去掉
場景
寫了一個ajax,調(diào)用url后,從控制層返回的數(shù)據(jù)是json格式。
ajax的內(nèi)容是,里面注釋有說明:
$.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調(diào)用結(jié)束后,返回的數(shù)據(jù)在res中-->
?? ??? ? ? ? ? ??? ?$("#result").empty();<#--result是一個div的id??刹挥每紤]-->
?? ??? ??? ??? ??? ?var json="";
?? ??? ??? ??? ??? ?json=JSON.stringify(res,null, 4);<#--這里小編也不懂啥意思,應(yīng)該是json轉(zhuǎn)var格式吧!-->
?? ??? ??? ??? ??? ?$("#result").append(json);<#--把返回的結(jié)果追加到div中,此時追加的內(nèi)容就是滿屏的轉(zhuǎn)譯符"\">
?? ??? ??? ??? ?}
?? ??? ??? ?})
?? ??? ?});百度了很多辦法,都沒有解決,最多的就是使用replacet替換,最接近預(yù)想結(jié)果的是在上面的success方法中,加上:
var json=res.replace("\\","");
$("#result").append(json);這個方法確實是去掉不少轉(zhuǎn)譯符"\".但是在遇到層級比較復(fù)雜的json字符串,就難免有漏網(wǎng)之魚,因為畢竟不是從造成此種情況的根本原因著手解決的。
js是支持json格式的,從后臺到前端如果沒有指定數(shù)據(jù)格式,應(yīng)該會默認是字符串的,把json格式數(shù)據(jù)/toString()打印到控制臺是帶有"\"的。
因此只要在ajax中指定返回數(shù)據(jù)的格式就行了!加上“dataType:json”即可。
type:"post" ?dataType:"json",
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
jstree創(chuàng)建無限分級樹的方法【基于ajax動態(tài)創(chuàng)建子節(jié)點】
這篇文章主要介紹了jstree創(chuàng)建無限分級樹的方法,結(jié)合實例形式分析了jstree基于ajax結(jié)合asp.net后臺動態(tài)創(chuàng)建子節(jié)點實現(xiàn)無限分級樹效果的相關(guān)步驟與操作技巧,需要的朋友可以參考下2016-10-10
HBuilderX開發(fā)一個簡單的微信小程序的實現(xiàn)步驟
本文主要介紹了HBuilderX開發(fā)一個簡單的微信小程序的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02
詳解Javascript百度地圖接口開發(fā)文檔中的類和方法
最近在工作中在用laravel框架仿寫?zhàn)I了么外賣商城,于是學習了一下有關(guān)地圖接口相關(guān)的知識,以下是百步地圖接口開發(fā)文檔的一些類和方法的使用,需要的朋友們可以參考借鑒,下面來一起看看吧。2017-02-02
javascript實現(xiàn)頁面內(nèi)關(guān)鍵詞高亮顯示代碼
關(guān)鍵詞高亮想必大家對它都不陌生吧,應(yīng)用也比較廣泛的,下面為大家介紹下通過javascript是如何實現(xiàn)頁面內(nèi)關(guān)鍵詞高亮顯示2014-04-04
swiper 解決動態(tài)加載數(shù)據(jù)滑動失效的問題
下面小編就為大家分享一篇swiper 解決動態(tài)加載數(shù)據(jù)滑動失效的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02

