//该map用于纠正错误的json数据
private static final Map<String, String> jsonErrorMap ;
static{
//错误数据map 为方便扩展
jsonErrorMap = new HashMap<String, String>();
jsonErrorMap.put("\\", ""); //当遇到 \ 时清除 \
jsonErrorMap.put("\"{", "{"); //当遇到 "{ 时 改成 {
jsonErrorMap.put("}\"", "}"); //当遇到 }" 时 改成 {
jsonErrorMap.put("\"[", "}"); //当遇到 "[ 时 改成 [
jsonErrorMap.put("]\"", "}"); //当遇到 ]" 时 改成 ]
}
/**
* 该方法主要用于纠正错误的json数据
* @Title: redressJson
* @Description: TODO
* @param jsonStr
* @return
* @throws
*/
//如果json中包含错误的数据 则进行强制替换
public static String redressJson(String jsonStr){
if (StringUtils.isNotEmpty(jsonStr)) {
Set<Entry<String, String>> entrySet = jsonErrorMap.entrySet();
for (Entry<String, String> entry : entrySet) {
if (jsonStr.contains(entry.getKey())) {
jsonStr = jsonStr.replace(entry.getKey(), entry.getValue());
}
}
}
return jsonStr;
}