0
我有一个非常标准的Java POJO。我们称之为Dog:Java对象到JSON:字段名称
Dog.java有一系列的字段。在Java中,约定表示字段名称应该以小写字母开头。这意味着我有:
- public String name;
- public String dogType;
- public String weight;
与此同时,我有我的JSON格式的要求,即JSON成员(姓名,dogType和重量)所有之初即名称,DogType和重量大写字母来写。
我正在使用杰克逊。
如果我使用如下所示的标准序列化代码,我会得到与在Java中完全相同的JSON成员名称。
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(jReq);
System.out.println(json);
为了解决我的问题,我有两个选择:
- 要么我用的是杰克逊注释
@JsonProperty(value="DogType")
,或 - 我用命名策略作为API描述。
我的问题是:有没有干净的做法呢?
有一些解释这两个方面对SO这个好几个问题:
但没有进入的利弊。
我最初的预感是我应该为命名策略而努力。这是一个好方法还是坏方法?