1. 程式人生 > 其它 >json物件欄位帶冒號 \r \n \\ 解決辦法

json物件欄位帶冒號 \r \n \\ 解決辦法

技術標籤:jsonjsonjava

在這裡插入圖片描述

有時候我們會遇到這種不標準的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,"\"");
	}

好了 解說到此為止 謝謝大家!