zoukankan      html  css  js  c++  java
  • 使用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

  • 相关阅读:
    SPOJ distinct subtrings
    OI题目类型总结整理
    emacs 考场配置
    SDOI2013 费用流
    HAOI2011 problem a
    BZOJ3438 小M的作物(和拓展)
    APIO2014 连珠线
    NOI2009 管道取珠
    HNOI2013 切糕
    NOI2009 植物大战僵尸
  • 原文地址:https://www.cnblogs.com/sishuiliuyun/p/15391984.html
Copyright © 2011-2022 走看看