一尘不染

如何使用Jackson更改JSON中的字段名称

hibernate

我正在使用杰克逊将我的对象转换为json。该对象具有2个字段:

@Entity
public class City {
   @id
   Long id;
   String name;
   public String getName() { return name; }
   public void setName(String name){ this.name = name; }
   public Long getId() { return id; }
   public void setName(Long id){ this.id = id; }
}

由于我想将其与jQuery自动完成功能一起使用,因此我希望“ id”在json中显示为“ value”,在“ name”中显示为“
label”。杰克逊的文档不明确这一点,我已经想尽注释,甚至远程好像它做什么,我需要,但我不能让name显示为label,并id显示为value在JSON。

有谁知道该怎么做或是否可能?


阅读 495

收藏
2020-06-20

共1个答案

一尘不染

您是否尝试过使用@JsonProperty?

@Entity
public class City {
   @id
   Long id;
   String name;

   @JsonProperty("label")
   public String getName() { return name; }

   public void setName(String name){ this.name = name; }

   @JsonProperty("value")
   public Long getId() { return id; }

   public void setId(Long id){ this.id = id; }
}
2020-06-20