在 Spring Boot 中自定义 JSON 响应以更改键名
Posted
技术标签:
【中文标题】在 Spring Boot 中自定义 JSON 响应以更改键名【英文标题】:Customize JSON response in Spring Boot to change key names 【发布时间】:2017-04-19 13:05:03 【问题描述】:我正在使用一个简单的基于 Spring Boot 的 RestController。我正在返回 JSON,但我无法控制响应中生成的键的名称。 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"
我尝试在属性及其 getter 上使用 @JsonProperty("name")
注释,但它不起作用。 Spring Boot 版本是 1.4.2。关于我缺少什么的任何建议?
【问题讨论】:
也许这个link会帮助你。 ***.com/questions/28324352/… 可能会有所帮助。 在 getter 和 setter 中设置 @JsonProperty 它将起作用。 @VelNaga 是的,这行得通!请将此添加为答案,以便我选择它作为正确答案。 @WebUser 我发布了答案。感谢您的回复。 【参考方案1】:在 getter 和 setter 中设置 @JsonProperty 它将起作用
【讨论】:
【参考方案2】:如果将 this.fullName 更改为 this.name 会怎样
public void setFullName(String fullName) this.fullName = 全名;
【讨论】:
编译错误,因为SomePojo没有name
属性。以上是关于在 Spring Boot 中自定义 JSON 响应以更改键名的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Spring Boot 1.4 中自定义 Jackson
在 Spring Boot 中自定义异常返回空消息 [重复]