美文网首页简友广场Java
@JsonIgnoreProperties转换实体时忽略json

@JsonIgnoreProperties转换实体时忽略json

作者: 西安法律咨询服务平台与程序员 | 来源:发表于2021-11-05 10:27 被阅读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" })
    指定的字段不会被序列化和反序列化。

相关文章

网友评论

    本文标题:@JsonIgnoreProperties转换实体时忽略json

    本文链接:https://www.haomeiwen.com/subject/gvzlzltx.html