带有特定SerializationConfig的Jackson ObjectWriter

时间:2018-09-21 14:26:49

标签: json jackson

对于正在运行的项目,我有一个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。

0 个答案:

没有答案