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

  • 相关阅读:
    Ado.Net 实体框架学习笔记3
    Ado.Net 实体框架学习笔记1
    PV3D的小练习~太阳系八大行星
    AS3数组的应用,flash制作流星雨~
    电脑安全措施小贴士(摘)
    Windows下MySql批处理命令
    命令行批量改文件名
    汉字转拼音(asp)(摘录)
    sql server login与user的区别(摘)
    MySql四舍五入
  • 原文地址:https://www.cnblogs.com/sishuiliuyun/p/15391984.html
Copyright © 2011-2022 走看看