A. json格式如何讀取有特殊字元的數據!內詳!
json格式是{"a":"b","c":"d"},所以你從資料庫讀出的值如果包含{,",逗號,這類構造json格式的特內殊字元,那麼就容易容破壞json數據的格式,自然無法正確讀出,用replace方法替換掉特殊字元,在特殊字元前加\。
例如:String s = "a:b,c";s.replace(":","\:").replace(",","\,");
B. iOS Json解析中特殊字元串('\\')處理
需解析的JSON:
事出起因:源自公司一個介面不能解析。。。。
以下為一個技術群里的聊天記錄截圖:
看了這么多,我這邊的處理就是:
將需要解析成json的字元串進行處理:
反正要做好預防工作,不然後台一個不小心,咱就得背鍋嘿嘿嘿(沒針對後台哈~~~🙊)
類似情況的文章:
https://blog.csdn.net/u014588619/article/details/50144913
https://blog.csdn.net/fallenink/article/details/53672027
...
C. JSON.parse解析特殊字元報錯的解決辦法
let str = JSON.stringify(arr)
str = encodeURIComponent(str)
<-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.->
arr = JSON.parse(decodeURIComponent(str)) // 再還原
《=====================================================》
JSON.stringify() : 用於將 javaScript 值轉換為 JSON 字元串;
JSON.parse() :用於將一個 JSON 字元串轉換為對象;
encodeURIComponent() :可把字元串作為 URI 組件進行編碼,該方法不會對 ASCII 字母和數晌纖字進行編碼,也不會對這些 ASCII 標點符號進行編碼: - _ . ! ~ * ' ( ) ,其他字元(比如 :;/?:@&=+$,# 這鏈租些用於分隔 URI 組件的標點符號),都是由一個或多個十六進制宴喚仿的轉義序列替換的(鏈接:https://www.runoob.com/js/javascript-json-stringify.html);
decodeURIComponent() :可對 encodeURIComponent() 函數編碼的 URI 進行解碼(鏈接:https://www.runoob.com/jsref/jsref-decodeuricomponent.html)。