2014-05-19 77 views
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这个好几个问题:

但没有进入的利弊。

我最初的预感是我应该为命名策略而努力。这是一个好方法还是坏方法?

回答

1

我认为你也应该选择命名策略。这个优点是,如果需要,您可以随时使用注释覆盖它。