首页 > 其他分享 >【序列化与反序列化】Jackson

【序列化与反序列化】Jackson

时间:2022-12-15 09:44:31浏览次数:33  
标签:jackson object Score Jackson 序列化 com objectMapper

1. jackson序列化和反序列化

 依赖
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.9.8</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.8</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.9.0</version>
</dependency>
或者以下依赖  (spring-boot-starter-web包含了以上依赖)
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>2.1.5.RELEASE</version>
</dependency>

 示例

package com.chenly.serialize.jackson;

import com.chenly.serialize.bean.Score;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;

import java.util.Date;

/**
 * @author: chenly
 * @date: 2022-11-28 16:48
 * @description:
 * @version: 1.0
 */
public class JacksonTest {

    public static void main(String[] args) {
        Score score1 = Score.builder()
                .className("一班")
                .createDate(new Date())
                .stuName("张三").course("生物").score(90).build();
        ObjectMapper objectMapper = Jackson2ObjectMapperBuilder.json().build();
        byte[] bytes ;
        Object object;
        try {
            //序列化成json字符串
            String jsonStr = objectMapper.writeValueAsString(score1);
            System.out.println(jsonStr);
            //反序列化
            object = objectMapper.readValue(jsonStr,Score.class);
            System.out.println(object);

            //序列化成byte
            bytes = objectMapper.writeValueAsBytes(score1);
            //反序列化
            object = objectMapper.readValue(bytes,Score.class);
            System.out.println(object);

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

}

 

2. jackson常用注解

Jackson 包含了很多注解,用来个性化序列化和反序列化操作,主要包含如下注解。

  • @JsonProperty:作用在属性上,用来为JSON Key指定一个别名
  • @JsonIgnore:作用在属性上,用来忽略此属性
  • @JsonIgnoreProperties:作用在类上,忽略一组属性,比如@JsonIgnoreProperties({"id","name"})
  • @JsonFormat:作用在属性上,用于日期的格式化,如:
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createDate;

 

 

 

 

 

 

 

 

 

 

 

参考地址

1、https://www.cnblogs.com/cnjavahome/p/8393178.html

标签:jackson,object,Score,Jackson,序列化,com,objectMapper
From: https://www.cnblogs.com/kiko2014551511/p/16932870.html

相关文章

  • [JAVA反序列化]Javacc链1分析
    文章目录​​写在前面​​​​动态代理​​​​简单介绍​​​​动态代理的实现​​​​JavaCC链1分析​​​​参考文章​​写在前面这几天算是好好一边审计PHP的一些CMS一......
  • 【序列化和反序列化】Hessian
    1、hession序列化实现机制hession的实现机制着重于数据,附带简单的类型信息,就像Integer=1,hession会序列化成I1这样的流,I表示intorInteger,1就是数据内容。而对于复杂对......
  • cloudpickle —— Python分布式序列化的专用模块
    给出cloudpickle的GitHub地址:https://github.com/cloudpipe/cloudpickle    ======================================================= ......
  • 剑指Offer-Java-序列化二叉树
    题目请实现两个函数,分别用来序列化和反序列化二叉树代码此题的核心点是如何表示二叉树,并且解释。/*publicclassTreeNode{intval=0;TreeNodeleft=null;......
  • 对象的序列化和反序列化
    读写JSON格式的数据通过上面的讲解,我们已经知道如何将文本数据和二进制数据保存到文件中,那么这里还有一个问题,如果希望把一个列表或者一个字典中的数据保存到文件中又该怎......
  • 如何使用 System.Text.Json 序列化 DateTimeOffset 为 Unix 时间戳
    在.NET中,日期和时间通常使用DateTime或DateTimeOffset来表示。这两种数据类型都可以表示日期和时间,但它们之间有一些明显的区别。DateTime是不带时区信息的,而DateT......
  • C# 反序列化,支持基本数据类型处理
    C#反序列化,支持基本数据类型处理代码///<summary>///优化对基本数据的支持///</summary>///<paramname="obj"></param>......
  • 【Unity】 HTFramework框架(三十七)Inspector自定义序列化检视器
    更新日期:2020年8月21日。Github源码:​​​[点我获取源码]​​​Gitee源码:​​[点我获取源码]​​索引​​Inspector自定义序列化检视器​​​​使用​​​​Dropdown下拉......
  • 序列化
     1.例子intmain(intargc,char*argv[]){usingnamespacex;Personp;p.set_name("tom");p.set_id(88);p.set_email("[email protected]");......
  • [java安全基础 01]SQL+反序列化
    tomcatServlet什么是servletJavaServlet是运行在Web服务器或应用服务器上的程序.它是作为来自Web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间......