首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >使用Gson将Object转String出现\u003d 的原因「建议收藏」

使用Gson将Object转String出现\u003d 的原因「建议收藏」

作者头像
全栈程序员站长
发布2022-09-02 16:43:04
发布2022-09-02 16:43:04
4K0
举报

大家好,又见面了,我是你们的朋友全栈君。

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

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

这个时候需要使用

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

实例化一个gson

gson.toJson(map)

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

附GsonUtils工具类

代码语言:javascript
复制
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://javaforall.cn/139712.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档