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

使用Gson将Object转String出现\u003d 的原因「建议收藏」在使用Gson将Object转json字符串,或者将实体类例如:User转为json的过程中,最终的结果会在值中出现\u003d出现这个的原因是Gsongson=newGson()造成的这个时候需要使用Gsongson=newGsonBuilder().disableHtmlEscaping().create();实例化一个gsongson.toJson(…

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

在使用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;
    }
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/139712.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java.vm是什么文件(java)

    java获取vm运行参数TogetthenameofrunningVM(VirtualMachine)inJava,weusethegetProperties()method,whichisdefinedinSystemclass,whilecallingthemethod,weneedtopassthepropertynameto…

  • VSCode设置中文语言显示

    VSCode设置中文语言显示 Vscode是一款开源的跨平台编辑器。默认情况下,vscode使用的语言为英文(us),如何将其显示语言修改成中文了?1)打开vscode工具;2)使用快捷键组合【Ctrl+Shift+p】,在搜索框中输入“configuredisplaylanguage”,点击确定后;3)修改locale.json文件下的属性“locale”为“zh-CN”;4)重启vscode工具;…

  • 阿里笔试题目「建议收藏」

    阿里笔试题目「建议收藏」题目描述一个淘宝的订单中包含n(10&gt;=n&gt;=1)种商品A1,A2,…,An,每种商品数量分别为a1,a2,…,an个,记做{a1,a2,…,an}(ak&gt;0)。订单在仓库生产过程中,仓库为了提升作业效率,会提前对热门组合商品进行预包装。假设这n个商品有m(9&gt;=m&gt;=1)个商品组合,每个组合bomk包含A1,A2,…,An的数量分别为{b1,b2,…,bn}(bk&…

  • 微信公众平台开发笔记

    微信公众平台开发笔记

    2021年11月16日
  • Eric6安装问题

    最近开始学习python,一开始用的开发环境是IDLE,这个开发环境适合新手,安装比较简单,对初学者来说也够使用。但是最近又发现了一个开发环境Eric6,使用起来更加方便,但是安装比较麻烦。下面说说安装步骤:安装环境:win764位python2.7网址:https://www.python.org/PyQt4网址:https://riverbankcomputing.co

  • 哈理工 oj 2122 旅行(map + 最短路dij算法)

    哈理工 oj 2122 旅行(map + 最短路dij算法)旅行TimeLimit:1000MSMemoryLimit:32768KTotalSubmit:18(6users)TotalAccepted:3(3users)Rating:SpecialJudge:NoDescription“04.24,和Sakur

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号