Jackson是一个款非常优秀的Json序列化跟反序列化的工具,Springboot默认的就是使用此对Json进行序列化跟反序列化的。
咋们工作中,常见的一些配置
private static ObjectMapper objectMapper = new ObjectMapper();
static {
// 格式化输出
// objectMapper.enable(SerializationFeature.INDENT_OUTPUT);
// 对于未知的属性抛出异常
objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
// 反序列化的时候,针对对象,如果是字段为"",则不抛出异常,转为null
objectMapper.enable(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT);
// 反序列化的时候,如果未知枚举,转为NULL
objectMapper.enable(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL);
// 反序列化的时候,如果未知枚举,转为默认的枚举,需要在默认的枚举上面添加 @JsonEnumDefaultValue 标识
objectMapper.enable(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_USING_DEFAULT_VALUE);
// 自定义序列化
{
JavaTimeModule javaTimeModule = new JavaTimeModule();
javaTimeModule.addDeserializer(LocalD