本文主要是介绍[Java] 解决json数据的输出带转义符的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 解决json数据的输出带转义符的问题
- 一、说明
- 二、记录
解决json数据的输出带转义符的问题
一、说明
-
编程语言:java
-
参考
https://mvnrepository.com/artifact/org.apache.commons/commons-text
https://commons.apache.org/proper/commons-text/apidocs/org/apache/commons/text/StringEscapeUtils.html
https://github.com/lq920320/blogs/issues/9
二、记录
- 问题描述:
在对接第三方系统时,返回的json数据输出到控制台后,可以看到带转义字符,并且使用fastjon的
JSON.parseObject(string)
无法直接转换为json对象
- 输出
"{\"ret\":0,\"expires_in\":\"123\",\"refresh_token\":\"45645465465465445\",\"msg\":\"\",\"access_token\":\"123456123456123456\"}"
- 解决方法
// 反转义java字符串
String tokenInfoEsca = StringEscapeUtils.unescapeJava(tokenInfo);
// 去除前后的双引号
tokenInfoEsca = tokenInfoEsca.substring(1, tokenInfoEsca.length() -1);
// 转换为json对象
JSONObject tokenJsonObj = JSON.parseObject(tokenInfoEsca);
其它解决方法:java 的 split 和 replaceAll
这篇关于[Java] 解决json数据的输出带转义符的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!