1. ホーム
  2. java

[解決済み] Jacksonを使用してJSONのフィールド名を変更する方法

2022-04-21 05:18:49

質問

jacksonを使用して、私のオブジェクトを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のオートコンプリート機能で使いたいので、jsonの中で'id'を'value'として表示し、'name'を'label'として表示したいのです。jacksonのドキュメントでは、この点について明確になっておらず、私が必要とすることを行うように見えるすべてのアノテーションを試してみましたが、私は name として表示されます。 labelid として表示されるようにします。 value をjsonで指定します。

どなたか、この方法をご存知の方、または可能な方はいらっしゃいますか?

解決方法は?

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; }
}