Jackson UpperCamelCase - 不是单词属性的大写字母

时间:2017-02-28 06:58:19

标签: java json serialization jackson fasterxml

我将序列化从蛇转换为上骆驼案。

mapper.setPropertyNamingStrategy(PropertyNamingStrategy.UPPER_CAMEL_CASE);

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

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

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

2 个答案:

答案 0 :(得分:1)

PropertyNamingStrategy仅适用于POJO,根据其javadoc

  

定义如何派生JSON属性(“外部名称”)的名称   来自POJO方法和字段的名称(“内部名称”)

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

答案 1 :(得分:0)

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

Traceback (most recent call last):
  File "keras_CvD.py", line 91, in <module>
    layer = layer_from_config(config)
  File "/usr/local/lib/python2.7/dist-packages/keras/utils/layer_utils.py", line 26, in layer_from_config
    class_name = config['class_name']
KeyError: 'class_name'

将它们固定在骆驼上部后,问题就消失了。