小编典典

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

all

我正在使用杰克逊将我的对象转换为 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
中显示为“值”,而“名称”则显示为“标签”。杰克逊的文档对此并不清楚,我已经尝试了每一个注释,即使是远程似乎也能满足我的需要,但我无法name
json 的形式出现labelid出现value在 json 中。

有谁知道如何做到这一点,或者这是否可能?


阅读 71

收藏
2022-07-06

共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; }
}
2022-07-06