zoukankan      html  css  js  c++  java
  • Java 使用hutool工具类代替commons-text进行Json 中文 Unicode转换

    可选的工具

    中文转换Unicode,目前有两种方式,自写工具类引入第三方包,这里我推荐引入三方包,因为使用mvn配置非常简单,网上搜到的大多数都是自己写的工具类,试了一个,效果不是很好,因为把ASCII编码也转成Unicode格式了(一色的uuu),虽然能用,但是可读性降低。

    引入第三方包,有一个很出名的escapeJava()方法,是apache下边的一个包,最开始在org.apache.commons.lang3下,3.6版本之后被移到了org.apache.commons.commons-text下,我试了一下,最终成功了,但效果不对,json中的双引号被转义了,可见下方示例。最终放弃,然后找到了hutool这款国内的工具包,表示非常好用!

    转换的三种格式对比

    示例代码

    // 原文
    {"键":"value"}
    
    // 网上自建类转换 -- 全转了
    u007bu0026u0071u0075u006fu0074u003bu952eu0026u0071u0075u006fu0074u003bu003au0026u0071u0075u006fu0074u003bu0076u0061u006cu0075u0065u0026u0071u0075u006fu0074u003bu007d
    // 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);
    
  • 相关阅读:
    HDU 1813 Escape from Tetris
    BZOJ 2276 Temperature
    BZOJ 4499 线性函数
    BZOJ 3131 淘金
    HDU 5738 Eureka
    POJ 2409 Let it Bead
    POJ 1286 Necklace of Beads
    POJ 1696 Space Ant
    Fox And Jumping
    Recover the String
  • 原文地址:https://www.cnblogs.com/36bian/p/13143885.html
Copyright © 2011-2022 走看看