Jackson UpperCamelCase - 不大写单个单词属性

Jackson UpperCamelCase - not capitalizing single word properties

我正在将序列化从 snake 转换为 upper camel case。

mapper.setPropertyNamingStrategy(PropertyNamingStrategy.UPPER_CAMEL_CASE);

在更新测试时我注意到单个单词属性没有大写:

{"priority":3, "CorrelationId":"cce2dfa6-f82a-11e6-bc64-92361f002671"}

这是预期的行为吗?单词属性的解决方案是什么?

A PropertyNamingStrategy 仅适用于 POJO,根据其 javadoc :

defines how names of JSON properties ("external names") are derived from names of POJO methods and fields ("internal names")

我的猜测是您将一个集合类型传递给映射器,它不会受到该策略的影响。

实际问题出在蛇形案例中的 JsonProperty 注释中,给出了奇怪的结果:

@JsonProperty("priority"), @JsonProperty("correlation_id")

将它们固定为驼峰式大小写后,问题就消失了。