unicode转码,以及阿里fastjson自动处理unicode转码

半腔热情 提交于 2019-12-02 05:44:44

从txt文件中读取json格式的文本,其中json对象中的某些属性是unicode码:

\u0064\u0069\u0073\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u0064\u005f\u0031\u0030\u0033

然后自己写了一个转码的方法:

    /**
     * unicode转中文
     * @param str
     * @return
     */
    public static String unicodeToString(String str) {
        Pattern pattern = Pattern.compile("(\\\\u(\\p{XDigit}{4}))");
        Matcher matcher = pattern.matcher(str);
        char ch;
        while (matcher.find()) {
            ch = (char) Integer.parseInt(matcher.group(2), 16);
            str = str.replace(matcher.group(1), ch+"" );
        }
        return str;
    }

后面要转为对象,肯定是要用到阿里的fastjson工具,发现JSONObject.parseObject()自动会把json字符串中的unicode码进行转换。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!