8
我有问题涉及使用杰克逊bean到json序列化/反序列化。以前我用GSON来做到这一点,但现在我面对的是一个已经取决于杰克逊的项目,如果我可以处理已有的东西,我不希望引入新的依赖项。为杰克逊指定字段命名策略
所以,想象我有这样一个bean:
class ExampleBean {
private String firstField;
private String secondField;
// respective getters and setters
}
然后杰克逊将其序列化为:
{
"firstField": "<first_field_value>",
"secondField": "<second_field_value>"
}
我使用下面的代码产生上述结果:
ExampleBean bean;
...
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(outStream, bean);
不过,我想(预计)得到以下序列号:
{
"first_field": "<first_field_value>",
"second_field": "<second_field_value>"
}
我刻意简化我的例子,但我有我想序列豆大的层次,我想说明的是,序列化的属性应始终snake_style(即用下划线)和相应的豆田应该永远是骆驼式的。有没有什么办法可以强制实施这些字段/属性命名策略,并在不注释每个字段的相应属性的情况下使用它们?
ObjectMapper似乎没有setPropertyNamingStrategy这样的方法...... :( – stantonk 2014-04-04 20:53:58
@stantonk曾经是我写评论的时候,显然它在那里是为了杰克逊1.9,但是我并没有在最近的杰克逊如果你这样做,请在这里回答一个答案,以便人们可以参考它 – 2014-04-06 16:18:08
知道了,我有一个老版本的jackson被包含在传递依赖中,而我的IDE导入了错误的:-)。 – stantonk 2014-04-06 21:59:07