① java : json 過濾不合法字元的工具包工具類工具
json中沒有來自帶的過濾不合法字元源的工具類,需要用戶自己編寫。
將源數據中的'、"、\\、空格、換行等都替換成轉義符,這樣你拼接的json數據就是正常的,顯示出來格式和資料庫中的一樣。
function valueReplace(v) {
if (v.indexOf("\"") != -1) {
v = v.toString().replace(new RegExp('(["\"])', 'g'), "\\\"");
}
else if (v.indexOf("\\") != -1)
v = v.toString().replace(new RegExp("([\\\\])", 'g'), "\\\\");
return v;
}
② 如何處理json中的非法utf8字元
在BB10 Cascades開發環境中可以輕松地通過JsonDataAccess類讀寫json文件,將json文件中的數據轉換成內存對象。回
不過對答於中國開發者來講有個苦惱,就是通過樣例讀取json文件時如果json文件中有中文字元,所有中文字元在BB10 Cascades組件中顯示時會顯示為亂碼,就是顯示成一個方框。
解決這個問題的方法很簡單,就是設置json文件的編碼格式,因為BB10 Cascades開發環境使用UTF-8作為預設編碼,所以需要將程序使用的Json文件轉成UTF-8格式。
當然,對json文件的編碼轉換可以使用很多種方式,如使用UltraEdit等工具,不過最方便的是使用BB10 Cascades自帶的工具進行轉換。
在BB10 Cascades開發環境中右鍵選擇需要處理的json文件,點擊「Properties」打開文件屬性框,然後在「Text file encording」選擇項中選擇「Other」,然後選擇「UTF-8」。這樣就可以將你需要處理的json文件轉換成UTF-8格式,在程序中使用時就不會有亂碼了。