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

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

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


相关推荐

  • PrintWriter作用[通俗易懂]

    PrintWriter作用[通俗易懂]PrintWriter()的作用是为了定义流输出的位置,并且此流可以正常的存储中文,减少乱码输出。PrintWriter可以在写入同时对写入的数据进行格式化。PrintStream主要操作byte流,而PrintWriter用来操作字符流…

    2022年8月10日
    12
  • UItexfile实时验证输入字符「建议收藏」

    UItexfile实时验证输入字符

    2022年1月26日
    48
  • CentOS 6.5 & CentOS 7 rpm安装ftp服务端与ftp客户端「建议收藏」

    CentOS 6.5 & CentOS 7 rpm安装ftp服务端与ftp客户端「建议收藏」一、rpm安装ftp服务端1、查看是否安装vsftprpm-qa|grepvsftpd如果出现vsftpd,说明已经安装vsftp2、下载vsftpd:我这里下载的是vsftpd-2.2.2-24.el6.x86_64.rpm3、安装vsftpdrpm-ivhvsftpd-2.2.2-24.el6.x86_64.rpm4、测试是否安装成功servicevsftp…

    2022年10月21日
    2
  • 一句话讲清楚什么是JavaEE「建议收藏」

    一句话讲清楚什么是JavaEE「建议收藏」Java技术不仅是一门编程语言而且是一个平台。同时Java语言是一门有着特定语法和风格的高级的面向对象的语言,Java平台是Java语言编写的特定应用程序运行的环境。Java平台有很多种,很多的Jav

    2022年8月3日
    9
  • Spark快速入门系列(三)深入理解RDD

    Spark快速入门系列(三)深入理解RDD这里写目录标题深入RDD二级目录三级目录深入RDD目标深入理解RDD的内在逻辑,以及RDD的内部属性(RDD由什么组成)案例需求给定一个网站的访问记录,俗称Accesslog计算其中出现的独立IP,以及其访问的次数二级目录三级目录…

    2022年7月26日
    12
  • java是什么?java能用来干嘛?[通俗易懂]

    java是什么?java能用来干嘛?[通俗易懂]java是什么?java能用来干嘛?Java是一种开发语言(核心特点:跨平台,面向对象,名称由来看这里:J2EE里面的2是什么意思),对于开发者来讲,Java基本等于Jdk。Java由四方面组成:Java编程语言,即语法。Java文件格式,即各种文件夹、文件的后缀。Java文件格式,即各种文件夹、文件的后缀。Java虚拟机(JVM),即处理*.class文件的解释器。Java应…

    2022年7月7日
    24

发表回复

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

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