JSON处理(三): 不返回null字段 @JsonInclude

后端返回给前端JSON格式的对象数据中,当对象的字段为NULL时,该字段也会写入JSON返回;而很多时候前端期望后端只返回对象中非null的字段数据。在Jackson框架中提供了 @JsonInclude 注解以实现该功能

abstract.png

不返回null字段数据

在相关对象的类上添加 @JsonInclude 注解,设定值为 NON_NULL

1
2
3
4
5
6
7
8
9
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Student
{
private int id;
private String username;
private String sex;
private String address;
...
}

则HTTP Response返回的该类的对象的JSON数据如下所示,无为null的字段

1
2
3
4
5
{
"id": 0,
"username": "Kallen",
"sex": "female"
}

返回null字段数据

在相关对象的类上添加 @JsonInclude 注解,设定值为 ALWAYS

1
@JsonInclude(JsonInclude.Include.ALWAYS)

则HTTP Response返回的该类的对象的JSON数据如下所示,其中包含null的字段

1
2
3
4
5
6
{
"id": 0,
"username": "Kallen",
"sex": "female",
"address": null
}

Note

  • 该注解不设定值的情况下,默认使用 ALWAYS
0%