我们如何使用Java中的Jackson来更改JSON中的字段名称?

杰克逊注释@JsonProperty上使用期间的属性或方法的序列 或反串行化 的JSON。它带有一个可选的' name '参数,当属性名称与JSON中的' key '名称不同时 ,该参数 很有用。默认情况下,如果键名称与属性名称匹配,则将值映射到属性值。

在下面的示例中,我们可以使用@JsonProperty注解 更改JSON中的字段名称。

示例

import java.io.IOException;

import com.fasterxml.jackson.databind.*;

import com.fasterxml.jackson.annotation.JsonProperty;

public class JsonPropertyAnnotationTest {

   public static void main(String[] args) throws IOException {

      ObjectMapper mapper = new ObjectMapper();

      mapper.enable(SerializationFeature.INDENT_OUTPUT);

      User user = new User("Sai", "Adithya", "9959984000", "0402358700");

      String data = mapper.writeValueAsString(user);

      System.out.println(data);

   }

}

//用户类别

class User {

   @JsonProperty("first-name")

   public String firstName;

   @JsonProperty("last-name")

   public String lastName;

   @JsonProperty("mobile-phone")

   public String mobilePhone;

   @JsonProperty("home_phone")   public String workPhone;

   public User(String firstName, String lastName, String mobilePhone, String workPhone) {

      super();

      this.firstName = firstName;

      this.lastName = lastName;

      this.mobilePhone = mobilePhone;

      this.workPhone = workPhone;

   }

}

输出结果

{

   "first-name" : "Sai",

   "last-name" : "Adithya",

   "mobile-phone" : "9959984000",

   "home_phone" : "0402358700"

}

以上是 我们如何使用Java中的Jackson来更改JSON中的字段名称? 的全部内容, 来源链接: utcz.com/z/348785.html

回到顶部