@JsonIgnoreProperties转换实体时忽略json
2021-11-05 本文已影响0人
西安法律咨询服务平台与程序员
问题
在调用三方接口时,如果第三方接口的Respone突然多几个我们不需要的字段,而且我们接收的Response对应的类中没有添加这几个字段,这样就会导致我们的解析json失败。例如如下的错误
Caused by: org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error:
Unrecognized field "****"
(class com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "***" )
解决办法
json转换成的实体类加注解@JsonIgnoreProperties(ignoreUnknown = true),注意这是类级别的注解。
-
@JsonIgnore注解用来忽略某些字段,可以用在Field或者Getter方法上,用在Setter方法时,和Filed效果一样。这个注解只能用在POJO存在的字段要忽略的情况,不能满足现在需要的情况。
-
@JsonIgnoreProperties(ignoreUnknown = true),将这个注解写在类上之后,就会忽略类中不存在的字段,可以满足当前的需要。这个注解还可以指定要忽略的字段。使用方法如下:
-
@JsonIgnoreProperties({ "name", "remark" })
指定的字段不会被序列化和反序列化。