杰克逊前

开始使用Spring 5和Spring Boot 2,通过学习的春天课程:

>>看看这个课程

1.概述

这个快速教程演示了如何更改字段的名称以映射到另一个JSON属性在序列化。

如果你想更深地挖掘和学习其他酷的事情,你可以做的杰克逊2 -头主要的Jackson教程

2.修改序列化字段的名称

与一个简单的实体:

public class MyDto {private String stringValue;public MyDto() {super();} public String getStringValue(){返回stringValue;} public void setStringValue(String stringValue) {this。stringValue = stringValue;}}

序列化它将得到以下JSON:

{“stringValue”:“有些价值”}

来定制输出,这样,而不是stringValue例如,我们得到strVal,我们只需要注释getter:

@JsonProperty("strVal") public String getStringValue(){返回stringValue;}

现在,在序列化时,我们将得到所需的输出:

{“strVal”:“有些价值”}

一个简单的单元测试可以验证输出是否正确:

@Test public void givennameoffieldischanged_whenserializing_threct () throws JsonParseException, IOException {ObjectMapper mapper = new ObjectMapper();MyDtoFieldNameChanged dtoObject =新的MyDtoFieldNameChanged();dtoObject.setStringValue(“a”);String dtoAsString = mapper.writeValueAsString(dtoObject);为了(dtoAsString,而不是(containsString(“stringValue”)));为了(dtoAsString containsString (strVal "));}

3.结论

封送一个实体以符合特定的JSON格式是一项常见的任务——本文将展示如何通过使用@JsonProperty注释。

中可以找到所有这些示例和代码片段的实现我的github项目

杰克逊底部

开始使用Spring 5和Spring Boot 2,通过学习的春天课程:

>>看看这个课程
对这篇文章的评论关闭!