Java 使用hutool工具类代替commons-text进行Json 中文 Unicode转换
可选的工具
中文转换Unicode,目前有两种方式,自写工具类或引入第三方包,这里我推荐引入三方包,因为使用mvn配置非常简单,网上搜到的大多数都是自己写的工具类,试了一个,效果不是很好,因为把ASCII编码也转成Unicode格式了(一色的\u\u\u),虽然能用,但是可读性降低。
引入第三方包,有一个很出名的escapeJava()
方法,是apache下边的一个包,最开始在org.apache.commons.lang3
下,3.6版本之后被移到了org.apache.commons.commons-text
下,我试了一下,最终成功了,但效果不对,json中的双引号被转义了,可见下方示例。最终放弃,然后找到了hutool这款国内的工具包,表示非常好用!
转换的三种格式对比
示例代码
// 原文
{"键":"value"}
// 网上自建类转换 -- 全转了
\u007b\u0026\u0071\u0075\u006f\u0074\u003b\u952e\u0026\u0071\u0075\u006f\u0074\u003b\u003a\u0026\u0071\u0075\u006f\u0074\u003b\u0076\u0061\u006c\u0075\u0065\u0026\u0071\u0075\u006f\u0074\u003b\u007d
// commons-text包escapeJava方法转换 -- 引号也转了
{\"\u952e\":\"value\"}
// hutool包toUnicode方法转换 -- 完美
{"\u952e":"value"}
使用hutool工具包
pom添加依赖
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.3.7</version>
</dependency>
使用
import cn.hutool.core.text.UnicodeUtil;
String json = "";
json = UnicodeUtil.toUnicode(json);