杰克逊有一个注释,用于忽略类中的未知属性:
@JsonIgnoreProperties(ignoreUnknown = true)
Run Code Online (Sandbox Code Playgroud)
它允许您使用此批注忽略特定属性:
@JsonIgnore
Run Code Online (Sandbox Code Playgroud)
如果您想全局设置它,您可以修改对象映射器:
// jackson 1.9 and before
objectMapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
// or jackson 2.0
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
Run Code Online (Sandbox Code Playgroud)
你如何使用spring全局设置它,以便它可以@Autowired在服务器启动而无需编写其他类?
我在application.properties中使用spring.jackson.deserialization.FAIL_ON_UNKNOWN_PROPERTIES = true来对未知属性进行反序列化失败,但它无法正常工作.
我甚至尝试过使用
@Bean
ObjectMapper objectMapper() {
return Jackson2ObjectMapperBuilder
.json()
.featuresToEnable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
.build();
}
Run Code Online (Sandbox Code Playgroud)
但这也行不通.我错过了什么?