我将序列化从蛇转换为上骆驼案。
mapper.setPropertyNamingStrategy(PropertyNamingStrategy.UPPER_CAMEL_CASE);
在更新测试时,我注意到单个字属性没有大写:
{"priority":3, "CorrelationId":"cce2dfa6-f82a-11e6-bc64-92361f002671"}
这是预期的行为吗?单字属性的解决方案是什么?
答案 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'
将它们固定在骆驼上部后,问题就消失了。