用Jackson进行Json序列化时的常用注解

Jackson时spring boot默认使用的json格式化的包,它的几个常用注解:

@JsonIgnore 用在属性上面,在序列化和反序列化时都自动忽略掉该属性

@JsonProperty("xxx") 用在属性上面,在序列化和反序列化时都将该属性识别为xxx

@JsonPropertyOrder(Value={"pname1","pname2"}) 用在实体类上面,主要是反序列时改变属性的排列顺序,pname1和pname2是实体类中的两个属性名称

@JsonInclude(JsonInclude.Include.NON_NULL) 用在属性上面,当该属性值为空时,反序列的时候就忽略掉该属性

@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GTM+8") 用在时间类型(date)的属性上面,在序列化和反序列化时使用如下的时间格式:2019-09-09 12:02:01

spring boot中设置全局的Jackson序列化时候的日期格式,在application.yml(这里只用于将后缀该为yml的配置文件,其他的写法可能不一样):

server://这里时设置启动端口  port: 8888
spring://这个时日期格式全局设置  jackson:    date-format: yyyy-MM-dd HH:mm:ss    time-zone: GTM+8

原文地址:https://www.cnblogs.com/maycpou/p/11619130.html

时间: 2024-10-12 03:38:46

用Jackson进行Json序列化时的常用注解的相关文章

Java下用Jackson进行JSON序列化和反序列化(转)

Java下常见的Json类库有Gson.JSON-lib和Jackson等,Jackson相对来说比较高效,在项目中主要使用Jackson进行JSON和Java对象转换,下面给出一些Jackson的JSON操作方法. 一.准备工作 首先去官网下载Jackson工具包,下载地址http://wiki.fasterxml.com/JacksonDownload.Jackson有1.x系列和2.x系列,截止目前2.x系列的最新版本是2.9.0,2.x系列有3个jar包需要下载: jackson-cor

实体类双向映射进行Json序列化时出现无限循环的解决问题

[email protected] 指定的字段不会被序列化,如下则ExamPaper的directory字段不会被序列化 @OneToMany(mappedBy = "directory", fetch = FetchType.LAZY) @JsonIgnoreProperties("directory") private List<ExamPaper> examPapers; [email protected] 被注解的字段不会被序列化 [email 

json序列化时datetime的处理方法

.net自带的json序列化器,JavaScriptSerializer和DataContractJsonSerializer,都是序列化成微软的datetime json格式,e.g. "\/Date(1198908717056)\/" 如果你将json序列化器换成json.net,可能会碰到序列化datetime格式的问题. json.net的行为是这样的. <=4.5,也是序列化成微软的datetime json格式,e.g. "\/Date(1198908717

C#对实体进行JSON序列化时枚举的处理

实体类如下: public enum ESex { Boy, Girl } public class Person { public String Name { get; set; } public String Address { get; set; } public String Age { get; set; } public ESex Sex { get; set; } public Person() { } public Person(String name, String addre

java对象json序列化时候忽略为null的属性

环境: jdk: openjdk11 操作系统: windows 10教育版1903 目的: 如题,当一个对象里有些属性值为null 的不想参与json序列化时,可以添加如下注解 import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonIgnore; //这个是类注解,表示该类实例化的对象里,值为null的字段不参与序列化@JsonInclude(JsonIn

C#中的二进制序列化和Json序列化

序列化就是把一个对象变成流的形式,方便传输和还原.小弟不才,总结下对二进制序列化和Json序列化的使用: 1.首先,二进制序列化(BinaryFormatter)要求要序列化的类必须是可序列化的(即在类定义的前面加Serializable关键字),而且它的父类类型也必须是可序列化的,经过查看发现,Dotnet中很多类型和结构都有这个标记:而Json序列化不用写标记: 2.如果类中某些属性不希望被二进制序列化,加NonSerialized关键字即可,而要二进制序列化的属性的类型必须是可序列化的数据

Unity中使用json序列化失败

问题 //为什么用json序列化这样没得问题 Dictionary<string, int> dic = new Dictionary<string, int>(); dic.Add("1", 1); string strJson = LitJson.JsonMapper.ToJson(dic); //这样有问题 Dictionary<int, int> dic2 = new Dictionary<int, int>(); dic2.Ad

Spring Data JPA 常用注解 @Query、@NamedQuery

1.@Transient @Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性:如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则ORM框架默认其注解为@Basic: //表示该字段在数据库表中没有 @Transientpublic int getAge() { return 1+1;} Jackson相关: 2.@JsonIgnoreProperties 此注解是类注解,作用是json序列化时将Javabean中的一些属性忽略掉,序列

学习-常用注解

常用注解 @SpringBootApplication @SpringBootApplication是一个复合注解,包括@ComponentScan,和@SpringBootConfiguration,@EnableAutoConfiguration @SpringBootConfiguration继承自@Configuration,二者功能也一致,标注当前类是配置类,并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到srping容器中,并且实例名就是方法名 @EnableAu