MappingJacksonJsonViewを使用してクラスをJSONにシリアル化していますが、ゲッター名に基づいてデフォルト名から一部のフィールドの名前を変更できるようにしたいと思います。
これは、jQueryファイルのアップロード用に「delete_url」や「delete_type」などのフィールド名を出力する必要があるためです。 @Jsonserializeアノテーションを使用して、シリアル化するフィールドを手動で選択しています。
_@JsonAutoDetect(getterVisibility = Visibility.NONE)
public interface Picture {
@JsonSerialize
String getName();
@JsonSerialize
String getDelete_url();
...
_
たとえば、メソッドgetDelete_url()
を呼び出さなければならず、getDeleteUrl()
を呼び出したいのですが、JSONにシリアル化するときにキー_"delete_url"
_を出力します。
@JsonProperty
を使用して資格を得ることができるはずです。
@JsonAutoDetect(getterVisibility = Visibility.NONE)
public interface Picture {
@JsonSerialize
@JsonProperty("name")
String getName();
@JsonSerialize
@JsonProperty("delete_url")
String getDeleteUrl();
//...
@ JsonProperty アノテーションを使用してみましたか?
"論理プロパティの名前、つまりプロパティに使用するJsonオブジェクトフィールド名を定義します。空の文字列(デフォルト)の場合、注釈が付けられたフィールドの名前を使用します。"