解决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 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM