如何去除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);
這個方法確實(shí)是去掉不少轉(zhuǎn)譯符"\".但是在遇到層級比較復(fù)雜的json字符串,就難免有漏網(wǎng)之魚,因?yàn)楫吘共皇菑脑斐纱朔N情況的根本原因著手解決的。
js是支持json格式的,從后臺到前端如果沒有指定數(shù)據(jù)格式,應(yīng)該會默認(rèn)是字符串的,把json格式數(shù)據(jù)/toString()打印到控制臺是帶有"\"的。
因此只要在ajax中指定返回?cái)?shù)據(jù)的格式就行了!加上“dataType:json”即可。
type:"post" ?dataType:"json",
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
jstree創(chuàng)建無限分級樹的方法【基于ajax動態(tài)創(chuàng)建子節(jié)點(diǎn)】
這篇文章主要介紹了jstree創(chuàng)建無限分級樹的方法,結(jié)合實(shí)例形式分析了jstree基于ajax結(jié)合asp.net后臺動態(tài)創(chuàng)建子節(jié)點(diǎn)實(shí)現(xiàn)無限分級樹效果的相關(guān)步驟與操作技巧,需要的朋友可以參考下2016-10-10原生JS實(shí)現(xiàn)垂直手風(fēng)琴效果
本篇文章主要介紹了原生JS實(shí)現(xiàn)垂直手風(fēng)琴效果的示例代碼,具有很好的參考價(jià)值,下面跟著小編一起來看下吧2017-02-02HBuilderX開發(fā)一個簡單的微信小程序的實(shí)現(xiàn)步驟
本文主要介紹了HBuilderX開發(fā)一個簡單的微信小程序的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02詳解Javascript百度地圖接口開發(fā)文檔中的類和方法
最近在工作中在用laravel框架仿寫?zhàn)I了么外賣商城,于是學(xué)習(xí)了一下有關(guān)地圖接口相關(guān)的知識,以下是百步地圖接口開發(fā)文檔的一些類和方法的使用,需要的朋友們可以參考借鑒,下面來一起看看吧。2017-02-02JavaScript實(shí)現(xiàn)點(diǎn)贊功能的示例
本文主要介紹了JavaScript實(shí)現(xiàn)點(diǎn)贊功能的示例,分享給大家2014-04-04javascript實(shí)現(xiàn)頁面內(nèi)關(guān)鍵詞高亮顯示代碼
關(guān)鍵詞高亮想必大家對它都不陌生吧,應(yīng)用也比較廣泛的,下面為大家介紹下通過javascript是如何實(shí)現(xiàn)頁面內(nèi)關(guān)鍵詞高亮顯示2014-04-04swiper 解決動態(tài)加載數(shù)據(jù)滑動失效的問題
下面小編就為大家分享一篇swiper 解決動態(tài)加載數(shù)據(jù)滑動失效的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02