Mak*_*kin 2 java spring jackson
我有带有 Maven 依赖项的 Spring Boot 项目:com.fasterxml.jackson.datatype
我想启用两个属性 ACCEPT_EMPTY_STRING_AS_NULL_OBJECT 和 FAIL_ON_READING_DUP_TREE_KEY。
但失败两个以两种不同的方式启用它们:1)application.yml
jackson:
serialization:
WRITE_DATES_AS_TIMESTAMPS: false
deserialization:
FAIL_ON_READING_DUP_TREE_KEY: true
Run Code Online (Sandbox Code Playgroud)
2)将它们添加为配置Bean
@Configuration
public class JacksonConfiguration {
@Autowired
private ObjectMapper objectMapper;
@PostConstruct
private void configureObjectMapper() {
objectMapper.enable(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT );
objectMapper.enable(DeserializationFeature.FAIL_ON_READING_DUP_TREE_KEY );
}
}
Run Code Online (Sandbox Code Playgroud)
这两种方式都没有给我带来预期的效果。您能建议正确的方法吗?
我尝试对 FasterXml Jackson 使用两个选项:
\n\n所以现在我最终得到了两个可行的解决方案:
\n\n @Bean\n public ObjectMapper objectMapper() {\n final ObjectMapper objectMapper = new ObjectMapper();\n objectMapper.registerModule(new JavaTimeModule());\n objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);\n objectMapper.enable(JsonParser.Feature.STRICT_DUPLICATE_DETECTION);\n return objectMapper;\n }\n
Run Code Online (Sandbox Code Playgroud)\n\n和application.yml
\n\njackson:\n serialization:\n WRITE_DATES_AS_TIMESTAMPS: false\n parser:\n STRICT_DUPLICATE_DETECTION: true\n
Run Code Online (Sandbox Code Playgroud)\n\n当然,我将使用 application.yml 来保持配置紧凑并集中在一处。
\n\n感谢@Michal Foksa,我会接受你的答案,因为这是正确配置 ObjectMapper 的方法之一。
\n 归档时间: |
|
查看次数: |
11221 次 |
最近记录: |