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

  • 相关阅读:
    【win10】浏览器Chrome 和edge 体验对比与使用心得
    【Java】 VM 环境配置过程要点( win10,64位)
    office2013 激活方法
    产品激活 比如Windows激活 , office激活 等激活的原理是什么? KMS等激活工具安全吗?
    回顾外滩踩踏事件,吸取的教训
    【win7】Ubuntu安装使用中的一些注意事项
    黑屏
    mock测试(一)
    Django模型类(一)
    获取本机局域网ip和出口ip
  • 原文地址:https://www.cnblogs.com/sishuiliuyun/p/15391984.html
Copyright © 2011-2022 走看看