解决JSON字符串中带有反斜杠导致程序解析失败

项目中调用第三方接口时,经常会遇到接口返回的结果中出现反斜杠导致解析失败出现异常。

 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 }

 

posted @ 2022-03-08 09:08  永远的希望  阅读(7288)  评论(0编辑  收藏  举报