SpringMVC返回json对象数据时,为空的字段不返回,使用jackson-annotation的JsonInclude注解实现


1、 经常一个Java对象有n多个字段,查询数据返回到前端的时候只有一部分属性有数据,另一部分属性值为null ,如果全部返回,第一是暴露了信息,二是加大了网络的数据传输。如果说将属性值为null的字段不返回到前端,那就很nice,每次查询不同数据时都可以使用同一个VO对象。

<dependency>
	<groupId>com.fasterxml.jackson.core</groupId>
	<artifactId>jackson-annotations</artifactId>
	<version>2.9.0</version>
</dependency>


在VO类的上加上注解即可

import com.fasterxml.jackson.annotation.JsonInclude;
@JsonInclude(JsonInclude.Include.NON_NULL)


EG:  如果对象中给goodsId/goodsName设置了值,SpringMVC返回该json数据,数据应是{'goodsId':'10010','goodsName':'牙刷'} , 其他为空的字段不会出现在json数据中。

import com.fasterxml.jackson.annotation.JsonInclude;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Goods {

	private String goodsId;

	private String goodsName;

	private String goodsImgUrl;

	private String goodsDetailUrl;

	private String goodsPrice;

	private Integer saleNum;

	private String expensesPercent;

	private String expenses;

	private String sellerName;

	private String sellerId;

	private String shopName;

	private String platformType;

	private Integer viewNum;

	private Date createTime;

	……
	……
}



2、SpringMVC中以is开头的字段名返回JSON问题

@JsonProperty(value = "isIndeterminate")注解

@JsonProperty(value = "isIndeterminate")

private boolean isIndeterminate ;

不加@JsonProperty注解, 在返回json数据时,会将前面的is去掉了





SpringMVC JsonInclude jackson-annotations

2020.11.18 00:07

https://www.meihaocloud.com.com/387.html , 欢迎转载,请在文章页标出原文连接 !


Copyright © 2020 千夕网 联系站长

粤公网安备 44030302001408号 粤ICP备19099833号-1