json常用的注解

json注解:

1、@JsonIgnoreProperties:

此注解是类注解,作用是json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响。

写法将此标签加在model 类的类名上 ,可以多个属性也可以单个属性

//生成json时将name和age属性过滤

@JsonIgnoreProperties({"name"},{"age"})

public class  user {

private  String name;

private int age;

}

2、@JsonIgnore:(常用注解)

此注解用于属性或者方法上(最好是属性上),作用和上面的@JsonIgnoreProperties一样。

//生成json 时不生成age 属性

public class user {

private String name;

@JsonIgnore

private int age;

}

 3、@JsonFormat:(常用注解)

此注解用于属性或者方法上(最好是属性上),可以方便的把Date类型直接转化为我们想要的模式,比如:

public class User{
@JsonFormat(pattern = “yyyy-MM-dd HH-mm-ss”)
private Date date;
}

4、@JsonSerialize:

此注解用于属性或者getter方法上,用于在序列化时嵌入我们自定义的代码,比如序列化一个double时在其后面限制两位小数点。

5、@JsonDeserialize:

此注解用于属性或者setter方法上,用于在反序列化时可以嵌入我们自定义的代码,类似于上面的@JsonSerialize

6、@Transient

如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则ORM框架默认其注解为@Basic;

//表示该字段在数据库表中没有

@Transient

public int getAge() {

 return 1+1;

}

6、@JsonIgnoreType:

标注在类上,当其他类有该类作为属性时,该属性将被忽略。

7、@JsonProperty

@JsonProperty 可以指定某个属性和json映射的名称。例如我们有个json字符串为{“user_name”:”aaa”},
而java中命名要遵循驼峰规则,则为userName,这时通过@JsonProperty 注解来指定两者的映射规则即可。这个注解也比较常用。

public class SomeEntity {

    @JsonProperty("user_name")

    private String userName;

}

只在序列化情况下生效的注解

1. @JsonPropertyOrder

在将 java pojo 对象序列化成为 json 字符串时,使用 @JsonPropertyOrder 可以指定属性在 json 字符串中的顺序。

2. @JsonInclude

在将 java pojo 对象序列化成为 json 字符串时,使用 @JsonInclude 注解可以控制在哪些情况下才将被注解的属性转换成 json,例如只有属性不为 null 时。

@JsonInclude(JsonInclude.Include.NON_NULL)
这个注解放在类头上,返给前端的json里就没有null类型的字段,即实体类与json互转的时候 属性值为null的不参与序列化。
另外还有很多其它的范围,例如 NON_EMPTY、NON_DEFAULT等

在反序列化情况下生效的注解

[email protected]

@JsonSetter 标注于 setter 方法上,类似 @JsonProperty ,也可以解决 json 键名称和 java pojo 字段名称不匹配的问题。

原文地址:https://www.cnblogs.com/wdss/p/11832315.html

时间: 2024-10-08 02:42:58

json常用的注解的相关文章

Spring MVC常用的注解

1.@Controller 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示.在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@RequestP

Spring MVC常用的注解类

一.注解类配置 要使用springmvc的注解类,需要在springmvc.xml配置文件中用context:component-scan/扫描: ? 二.五大重要的注解类 1.RequestMapping注解 RequestMapping注解类的使用方法 在Controller控制器类的类定义和方法定义处都可以标注@RequestMapping注解 DispatcherServlet截获请求后,就可以通过控制器上的@RequestMapping提供的映射信息确定请求所对应的处理方法 packa

springMVC--参数绑定常用的注解

简介: handler method 参数绑定常用的注解,我们根据他们处理的Request的不同内容部分分为四类:(主要讲解常用类型) A.处理requet uri 部分(这里指uri template中variable,不含queryString部分)的注解:   @PathVariable; B.处理request header部分的注解:   @RequestHeader, @CookieValue; C.处理request body部分的注解:@RequestParam,  @Reque

spring学习之常用的注解

写在前面 abstract bean:如果它的abstract设置为true,它通常作为模板或者父类,不能实例化,记住要将它的abstract设置为true,否则,上下文会试着实例化该bean spring3.0为我们提供了组件自动扫描机制,他可以在类的路径下寻找@Component,@Service,@Controller,@Repository注解的类,并把他们纳入spring容器管理 其中@Service标注业务层组件,@Controller标注控制层组件,如spring mvc的cont

Junit中常用的注解说明

Java注解((Annotation)的使用方法是@注解名 ,能通过简单的词语来实现一些功能.在junit中常用的注解有@Test.@Ignore.@BeforeClass.@AfterClass.@Before.@After.@Runwith.@Parameters 以下是相关的介绍和使用说明: 一[email protected] 在junit3中,是通过对测试类和测试方法的命名来确定是否是测试,且所有的测试类必须继承junit的测试基类.在junit4中,定义一个 测试方法变得简单很多,只

再谈json - json常用函数

json常用的函数有JSON.parse().JSON.stringify(),用于json对象和字符串之间的互相转换. 1.JSON.parse() 将 JavaScript 对象表示法 (JSON) 字符串转换为对象. JSON.parse(text [, reviver]) var jsontext = '{"firstname":"Jesper","surname":"Aaberg","phone"

Java 处理json常用代码

本工程代码已上传至资源,如有需要,请自行下载. package com.michael; import static org.junit.Assert.assertEquals; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import n

自定义注解中常用的注解

自定义注解中常用的注解: java中元注解有四个: @Retention @Target @Document @Inherited:  @Retention:注解的保留位置 @Retention(RetentionPolicy.SOURCE)   //注解仅存在于源码中,在class字节码文件中不包含 @Retention(RetentionPolicy.CLASS)     // 默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得 @Retention(RetentionPo

解析json常用几种方式

1.使用Google 的 gson方式解析json,园子里面对json方面的教程都非常多,很多写的都非常不错,借鉴不少,毕竟刚刚研究. gson支持解析的类型还是比较全面的,包括JavaBean,List<JavaBean>,List<String>,Map等,使用起来也是比较方便. 首先配置环境,需要下载相应的jar包, 下面测试使用的版本是2.2.4. 官方下载地址:http://code.google.com/p/google-gson/ gson API:http://go