有时候我们会遇到这种不标准的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,"\"");
}
好了 解说到此为止 谢谢大家!