spring-boot - 在 Spring Boot 中自定义 JSON 响应以更改键名

标签 spring-boot jackson

我正在使用一个简单的基于 Spring Boot 的 RestController。我正在返回 JSON,但我无法控制响应中生成的 key 的名称。 POJO 看起来像这样:

public class SomePojo {
   @JsonProperty("name")
   private String fullName;
   @JsonProperty("name")
   public String getFullName() {
     return fullName;
   }
   public void setFullName(String fullName) {
     this.fullName = fullName;
   }
}

如果我创建一个新实例如下:
SomePojo sm = new SomePojo();
sm.setFullName("John Doe");

并返回@ResponseBody 中的实例。我期待看到
{ "name" : "John Doe" }

但我看到
{ "fullName" : "John Doe" }

我尝试使用 @JsonProperty("name")属性及其 getter 上的注释,但它不起作用。 Spring Boot 版本是 1.4.2。关于我缺少什么的任何建议?

最佳答案

在 getter 和 setter 中设置 @JsonProperty 它将起作用

关于spring-boot - 在 Spring Boot 中自定义 JSON 响应以更改键名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40969156/

相关文章:

java - 无法使用 Spring RestTemplate 使用 JSON 数组

java - 如何使用 spring boot 2.15 正确配置 elasticsearch 7.1.1?

java - Spring Boot 应用程序在远程 Tomcat 中返回 404

java - 多态数组失败的序列化

maven - 找不到 Artifact Jackson-modules-java8 :jar

java - 如何使用 Jackson 过滤自引用上的属性?

java - spring-boot Maven : How to create executable jar with main class?

hibernate - 构建/泊坞具有数据库连接的Spring Boot应用程序的最佳实践是什么?

java - "java.lang.ClassNotFoundException: org.codehaus.jackson.map.ObjectMapper"在 Eclipse 火星

java - jpa oneToMany 和 jackson 序列化问题(新手)