json物件欄位帶冒號 \r \n \\ 解決辦法
阿新 • • 發佈:2021-02-07
有時候我們會遇到這種不標準的json
/** * 將不標準json 頭和尾的 冒號 去除 * @param srcStr * @param splitter * @return */ public String trimBothEndsChars(String srcStr, String splitter) { String regex = "^" + splitter + "*|" + splitter + "*$"; return srcStr.replaceAll(regex, ""); } //然後再去呼叫這個方法 String 就是你的不標準json 串 // 第二個變數就是你要去掉的 字元 trimBothEndsChars(string,"\"")
那麼問題又來了,要是 物件欄位不標準呢
只需要一句話替換
/** * json資料規範化 * @param str json串 * @return */ public String jsonFormatFto(String str){ String string= str.replace("\"{","{") .replace("}\"","}"); return trimBothEndsChars(string,"\""); }
還有換行符 \r \n 每個冒號前面都有 \ 之類的
/** * json資料規範化 * @param str * @return */ public String jsonFormatTo(String str){ String string= str.replace("\\\\r\\\\n","") .replace("\\n","") .replace("\\","") .replace("\"{","{") .replace("}\"","}"); return trimBothEndsChars(string,"\""); }
好了 解說到此為止 謝謝大家!