Json字符串和对象相互转换[通俗易懂]

Json字符串和对象相互转换[通俗易懂]importcom.fasterxml.jackson.databind.ObjectMapper;publicclassJsonUtil{privatestaticfinalObjectMapperMAPPER=newObjectMapper();/***把对象转字符串*@paramdata*@return*/publicstaticStringobjectToJson(Objec

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

1、JsonUtil

工具类

import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonUtil { 
   


    private static final ObjectMapper MAPPER = new ObjectMapper();


    /** * 把对象转字符串 * @param data * @return */
    public static String objectToJson(Object data){ 
   
        try { 
   

            return MAPPER.writeValueAsString(data);

        }catch (Exception e){ 
   
            e.printStackTrace();
        }
        return null;
    }


    /** * json字符串转对象 * @param jsonData * @param beanType * @param <T> * @return */
    public static <T> T jsonToPojo(String jsonData, Class<T> beanType){ 
   

        try { 
   
            T t = MAPPER.readValue(jsonData,beanType);
            return t;
        }catch (Exception e){ 
   
            e.printStackTrace();
        }
        return null;


    }

}

Jetbrains全家桶1年46,售后保障稳定

Jackson

把对象转换为json字符串

ObjectMapper objectMapper = new ObjectMapper();
People peo = new People();
String jsonStr = objectMapper.writeValueAsString(peo);

把json字符串转换为对象

ObjectMapper objectMapper = new ObjectMapper();
People peo = objectMapper.readValue(jsonStr, People.class);

把json字符串转换为List集合

ObjectMapper objectMapper = new ObjectMapper();
JavaType javaType = objectMapper.getTypeFactory().constructParametricType(List.class, People.class);
List<People> list = objectMapper.readValue(jsonStr, javaType);

2、Gson

把对象转换为json字符串

Gson gson = new Gson();
String userJson = gson.toJson(userObject);

把json字符串转换为对象

// str代表的是json字符串,Student.class代表的是你要转成的类型
Gson gson = new Gson();
Student student = gson.fromJson(str, Student.class);

把json字符串转换为List对象

Type type = new TypeToken<List<User>>() { 
   }.getType();
List<User> userLists = new Gson().fromJson(json, type);

把list转换为json格式字符串

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

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

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

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

(0)


相关推荐

  • vscode配置javaweb环境_vscode electron

    vscode配置javaweb环境_vscode electronVScode配置Java环境1、下载VSCodeVSCode下载官网2、配置中文环境如果懂英语,或者想在编程上有更好的进步,可以跳过这一步,毕竟以后工作,很多软件并非中文,但像我这样的英语困难户,还是下载了该插件,毕竟香啊(〃 ̄︶ ̄)在VSCode的左侧点击小方块,搜索Chinese(Simplified)LanguagePackforVisualStudioCode插件,点击安装。(这是安装后的界面)3、配置相关插件和Java的JDK1、新建文件(快捷键Ctrl

  • MySQL与php时间戳与日期格式的相互转换[通俗易懂]

    MySQL与php时间戳与日期格式的相互转换[通俗易懂]文章来自:源码在线https://www.shengli.me/php/336.html  

  • 使用BitBlt实现位图背景透明

    使用BitBlt实现位图背景透明我们先看一下 BitBlt 这个函数的原型:BOOLBitBlt(int x, inty,intnWidth,nHeight,CDC*PsrcDC,intxSrc,intySrc,DWORDdwRop);参数介绍:                    intx               表示绘制位图目标左上角x坐标;

    2022年10月18日
  • JS 数字取整数方式[通俗易懂]

    JS 数字取整数方式[通俗易懂]1、parseInt(number)varnum1=parseInt(“2015nov”),//2015num2=parseInt(“”),//NaNnum3=parseInt(“0xA”),//10(十六进制)num4=parseInt(20.15),//20num5=parseInt(-20.15),//-20num6=parseInt(“070”);//56(八进制数)2、~~numbe

  • JMM概述_jmi名词解释

    JMM概述_jmi名词解释简介什么是JMM内存模型可以理解为在特定的操作协议下,对特定的内存或者高速缓存进行读写访问的过程抽象描述,不同架构下的物理机拥有不一样的内存模型,Java虚拟机是一个实现了跨平台的虚拟系统,因此它也有自己的内存模型,即Java内存模型(JavaMemoryModel,JMM)。因此它不是对物理内存的规范,而是在虚拟机基础上进行的规范从而实现平台一致性,以达到Java程序能够“一次编写,到处运行

  • candump命令_生成dump文件命令

    candump命令_生成dump文件命令hexdump以ASCII、十进制、十六进制或八进制显示文件内容。

发表回复

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

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