繁体   English   中英

JSON的Java对象:字段名称

[英]Java objects to JSON: field names

我有一个非常标准的Java POJO。 我们称之为狗:

Dog.java具有一系列字段。 在Java中,约定表示字段名称应以小写字母开头。 这意味着我有:

  • 公共字符串名称;
  • public String dogType;
  • 公共字符串权重;

同时,我对JSON格式有一个要求,即JSON成员(名称,dogType和权重)都必须在开头加上大写字母,即Name,DogType和Weight。

我正在使用杰克逊。

如果使用下面的标准序列化代码,则会得到JSON成员名称,它们的书写方式与Java中的完全相同。

ObjectMapper mapper = new ObjectMapper();
String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(jReq);
System.out.println(json);

为了解决我的问题,我有2种选择:

  • 我要么使用Jackson批注@JsonProperty(value="DogType") ,要么
  • 我使用API中所述的命名策略。

我的问题是:是否有一种干净的方法?

关于SO的很多问题都可以解释这两种方式:

但是没有人会谈利弊。

我最初的预感是我应该采用命名策略。 这是好方法还是坏方法?

我认为您也应该采用命名策略。 这一功能的优点是,如果需要,您始终可以使用注释覆盖它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM