詳解json串反轉(zhuǎn)義(消除反斜杠)
JSon串在被串行化后保存在文件中,讀取字符串時,是不能直接拿來用JSON.parse()解析為JSON 對象的。因為它是一個字符串,不是一個合法的JSON對象格式。例如下面的JSON串保存在文件中,讀出來不能直接解析:
“{\"resourceId\":\"dfead70e4ec5c11e43514000ced0cdcaf\",\"properties\":{\"process_id\":\"process4\",\"name\":\"\",\"documentation\":\"\",\"processformtemplate\":\"\"}}"
這個串如果出現(xiàn)在代碼中是沒有問題的,因為反斜杠就表示轉(zhuǎn)義,但如果從文本文件中直接讀出來就是這個樣子,則不能直接用JSON.parse()進行解析,需要反串行化,消除掉反斜杠。有些programmer喜歡自己寫一個工具類來做這樣的事情,但已經(jīng)有方便快捷的工具類可以來做這件事情,毋需我們重復(fù)發(fā)明車輪子。
可以直接使用Apache 的 common.lang工具包(使用工具類:org.apache.commons.lang.StringEscapeUtils)。例子如下:
public void test(){
String str1 = "{\"resourceId\":\"dfead70e4ec5c11e43514000ced0cdcaf\",\"properties\":{\"process_id\":\"process4\",\"name\":\"\",\"documentation\":\"\",\"processformtemplate\":\"\"}}";
String tmp = StringEscapeUtils.unescapeJavaScript(str1);
System.out.println("tmp:" + tmp);
}
輸出:
tmp:{"resourceId":"51ad70e41c5c11e88514000c290cdcfa","properties":{"process_id":"process4","name":"","documentation":"","processformtemplate":""}}
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解決typescript項目報錯:找不到模塊“xxx”或其相應(yīng)的類型聲明問題
這篇文章主要介紹了解決typescript項目報錯:找不到模塊“xxx”或其相應(yīng)的類型聲明問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06
純js實現(xiàn)瀑布流布局及ajax動態(tài)新增數(shù)據(jù)
這篇文章主要介紹了基于javascript實現(xiàn)瀑布流布局,及ajax動態(tài)新增數(shù)據(jù)的相關(guān)資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-04-04
javascript 自動標記來自搜索結(jié)果頁的關(guān)鍵字
使用javascript自動標記來自搜索結(jié)果頁的關(guān)鍵字的實現(xiàn)代碼。2010-01-01
confirm確認對話框的實現(xiàn)方法總結(jié)
下面小編就為大家?guī)硪黄猚onfirm確認對話框的實現(xiàn)方法總結(jié)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06
如何使用big.js解決JavaScript浮點數(shù)精度丟失問題
最近在項目中涉及到金額從元轉(zhuǎn)為分(乘100即可),發(fā)現(xiàn)乘法居然也會有精度丟失的問題,關(guān)于浮點數(shù)計算精度丟失是很多語言都存在的問題,本文給大家分享使用big.js解決JavaScript浮點數(shù)精度丟失問題,感興趣的朋友一起看看吧2023-12-12
javascript通過獲取html標簽屬性class實現(xiàn)多選項卡的方法
這篇文章主要介紹了javascript通過獲取html標簽屬性class實現(xiàn)多選項卡的方法,涉及javascript針對頁面元素屬性與事件的相關(guān)操作技巧,需要的朋友可以參考下2015-07-07

