对于正在运行的项目,我有一个ObjectMapper
的全局实例,其中有一些基本设置。
在一些地方,我有一些小的偏差,例如PropertyNamingStrategy的更改。对于这个Jackson状态,您可以使用ObjectReader或ObjectWriter。
但是,似乎ObjectWriter不支持插入PropertyNamingStrategy。
有没有一种方法可以保留ObjectMapper并在不使用ObjectWriter
的情况下将PropertyNamingStrategy插入ObjectMapper.copy()
?
我查看过但无法实现的选项
因为据我所知,不允许插入如下所示的PropertyNamingStrategy。
ObjectMapper mapper = new ObjectMapper();
ObjectWriter writer = mapper.writer()
.with(PropertyNamingStrategy.UPPER_CAMEL_CASE));
而且也没有插入如下所示的SerializationConfig的选项。
ObjectMapper mapper = new ObjectMapper();
ObjectWriter writer = mapper.writer()
.with(
mapper.getSerializationConfig()
.with(PropertyNamingStrategy.UPPER_CAMEL_CASE)
);
ObjectReader确实支持此功能
当前,我可以为ObjectReader执行此操作,因为允许以下代码段。
ObjectMapper mapper = new ObjectMapper();
ObjectReader reader = mapper.reader()
.with(
mapper.getDeserializationConfig()
.with(PropertyNamingStrategy.UPPER_CAMEL_CASE)
);
ObjectReader没有提供with
函数来插入PropertyNamingStrategy,但是确实提供了with
函数来插入DeserializationConfig。