項目中調用第三方接口時,經常會遇到接口返回的結果中出現反斜杠導致解析失敗出現異常。
1 { 2 "data":"{\"name\":\"張三\",\"result\":0,,\"sex\":\"男\",\"age\":\"18\"} 3 }
出現的原因:第三方的接口中將對象轉為JSON對象后,使用toString()方法得到JSON字符串,對象上加上了反斜杠。
解決方法:
1 import org.apache.commons.lang3.StringUtils; 2 3 4 public class StringAcceptUtil { 5 6 /** 7 * 處理調用接口回參中的特殊字符 8 * @param str 9 * @return 10 */ 11 public static String replaceAll(String str){ 12 String replaceAll3 = null; 13 if(!StringUtils.isBlank(str)){ 14 String replaceAll = str.replaceAll("\\\\", ""); 15 System.out.println(replaceAll); 16 String replaceAll2 = replaceAll.replaceAll("\"[{]", "{"); 17 replaceAll3 = replaceAll2.replaceAll("[}]\"", "}"); 18 } 19 20 return replaceAll3; 21 } 22 }