• 使用Gson将Object转String出现u003d 的原因


    在使用Gson将Object转json字符串,或者将实体类例如:User转为json的过程中,最终的结果会在值中出现u003d

    出现这个的原因是 Gson gson = new Gson() 造成的

    这个时候需要使用

    Gson gson = new GsonBuilder().disableHtmlEscaping().create();

    实例化一个gson

    gson.toJson(map)

    这个时候在进行转换就不会出现u003d

    附GsonUtils工具类

    package cn.changemax.utils;
     
    import com.google.gson.*;
    import com.google.gson.reflect.TypeToken;
     
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Map;
     
    /**
     * json转换工具
     */
    public class GsonUtils {
     
        private static final Gson gson = new GsonBuilder().disableHtmlEscaping().create();
     
        public static String toJsonString(Object object) {
            return object == null ? null : gson.toJson(object);
        }
     
        /**
         * 转成json
         */
        public static String beanToString(Object object) {
            String gsonString = null;
            if (gson != null) {
                gsonString = gson.toJson(object);
            }
            return gsonString;
        }
     
        /**
         * 转成bean
         */
        public static <T> T stringToBean(String gsonString, Class<T> cls) {
            T t = null;
            if (gson != null) {
                t = gson.fromJson(gsonString, cls);
            }
            return t;
        }
     
        /**
         * 转成list
         */
        public static <T> List<T> stringToList(String gsonString, Class<T> cls) {
            List<T> list = new ArrayList<>();
            if (gson != null) {
                JsonArray array = new JsonParser().parse(gsonString).getAsJsonArray();
                for (final JsonElement elem : array) {
                    list.add(gson.fromJson(elem, cls));
                }
            }
            return list;
        }
     
        /**
         * 转成list, 有可能造成类型擦除
         */
        public static <T> ArrayList<T> stringToList(String gsonString) {
            ArrayList<T> list = null;
            if (gson != null) {
                list = gson.fromJson(gsonString, new TypeToken<ArrayList<T>>() {
                }.getType());
            }
            return list;
        }
     
        /**
         * 转成map的
         */
        public static <T> Map<String, T> stringToMaps(String gsonString, Class<T> cls) {
            Map<String, T> map = null;
            if (gson != null) {
                map = gson.fromJson(gsonString, new TypeToken<Map<String, T>>() {
                }.getType());
            }
            return map;
        }
    }
    

    本文转自:https://blog.csdn.net/qq_40223688/article/details/102409026

  • 相关阅读:
    Oracle86和92语法的连接,子查询,集合的操作
    Oracle笛卡尔积,分组,多表连接
    Oracle排序,伪列,字符函数,数字函数,日期行数
    Oracle基本的数据类型以及简单sql查询
    用while语句打印阶乘
    Switch小练习
    if语句多表达式与一个表达式
    三元操作符
    整数的二进制表达
    与或
  • 原文地址:https://www.cnblogs.com/sishuiliuyun/p/15391984.html
Copyright © 2020-2023  润新知