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

 

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oracle11g创建数据库实例_oracle手工建库

    oracle11g创建数据库实例_oracle手工建库在经过前面八篇文章(abp(netcore)+easyui+efcore实现仓储管理系统——入库管理之一(三十七)至abp(netcore)+easyui+efcore实现仓储管理系统——入库管理之八(四十四))的学习之后,我们知道了已经基本完成了入库管理功能。在这篇文章中我们来增加更新与删除功能的脚本。十三、修改更新与删除脚本1.在VisualStudio2017的“解决方案资源管理器”中,找到领域层“ABP.TPLMS.Web.Mvc”项目中的wwwroot目录下的vi…

    2026年1月25日
    3
  • DAO层,Service层,Controller层、View层

    DAO层,Service层,Controller层、View层DAO 层 DAO 层主要是做数据持久层的工作 负责与数据库进行联络的一些任务都封装在此 DAO 层的设计首先是设计 DAO 的接口 然后在 Spring 的配置文件中定义此接口的实现类 然后就可在模块中调用此接口来进行数据业务的处理 而不用关心此接口的具体实现类是哪个类 显得结构非常清晰 DAO 层的数据源配置 以及有关数据库连接的参数都在 Spring 的配置文件中进行配置 nbsp nbsp nbsp nbsp Service 层 Service 层主要负责业务模块的逻辑应用设计 同样是首先设计接口 再设计其实现的类 接着再 Spring 的配置文件中配

    2025年6月9日
    3
  • html炫酷动态时钟代码,HTML5动态时钟代码

    html炫酷动态时钟代码,HTML5动态时钟代码HTML5动态时钟代码#clock{stroke:black;stroke-linecap:square;fill:#fcfcfc;width:500px;height:500px;}#face{stroke-width:2px;}#ticks{stroke-width:1px;}#hour{stroke-width:3px;stroke:#00…

    2022年6月28日
    36
  • windows10更新报错0x80240fff_windows10易升有什么用

    windows10更新报错0x80240fff_windows10易升有什么用win10更新错误0x8000ffff处理方法:1.同时按下Windows键和R键,打开运行,输入services.msc;2.找到WindowsUpdate服务项,右键选择禁用;3.打开c:\windows\SoftwareDistribution\datastore,删除datastore和和Download两个文件夹下的所有文件;4.按照1和2的步骤开启WindowsUpdate服务,重新检查更新;如果不行用下法试试:右键点击开始——命令提示符(管理员),输入以下命令尝试修复。dism

    2022年9月25日
    3
  • Java项目的开发流程「建议收藏」

    Java项目的开发流程「建议收藏」一个java开发项目过程:       1、项目启动  1)、项目组成立(公司成员、客户成员)  2)、制定项目预期目标  3)、制定项目计划周期  4)、建立好项目组成员沟通机制  2、需求调研  1)、创建调研计划、协调调研时间  2)、收集客户资料,获取客户需求  所有的资料都需要保留一份,资料中存疑的需要及时询问

    2022年6月22日
    39
  • Enterprise Library简介

    Enterprise Library简介EnterpriseLibraryfor.NetFramework3.5–EntLibv4.1是patterns&amp;practices小组为.NETFramework3.5开发一套企业库,目前最新版本为v4.1,共包括9个ApplicationBlock,包括数据访问(DataAccessApplicationBlock)、异常管理(Exception…

    2022年10月20日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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