将json转换为java对象

import com.fasterxml.jackson.databind.json.JsonMapper;
JsonMapper mapper = JsonMapper.builder()
        .enable(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES).disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
        .build();

使用Jackson的ObjectMapper进行JSON字符串与Java对象之间的转换时,可以通过一些配置来控制它的行为。以下是一些常用的设置:

1. `objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL)`: 这个设置会让ObjectMapper在序列化(将对象转换为JSON字符串)时忽略那些值为null的属性。这样,生成的JSON字符串就不会包含那些值为null的属性了。

2. `objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)`: 这个设置会让ObjectMapper在反序列化(将JSON字符串转换为对象)时忽略那些在对象的类定义中不存在的属性。这样,如果JSON字符串中包含一些未知的属性,ObjectMapper就不会抛出异常了。

3. `objectMapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true)`: 这个设置会让ObjectMapper在处理属性名时忽略大小写。这样,JSON字符串中的属性名就可以是任意大小写了,ObjectMapper都能正确地匹配到对象的属性。

以上只是一些常用的设置,实际上ObjectMapper还有许多其他的配置项,可以根据需要进行设置。同时,也可以为ObjectMapper添加一些自定义的序列化器或反序列化器,以实现更复杂的转换逻辑。

猜你喜欢

转载自blog.csdn.net/u013933709/article/details/131085872