私はこの基本的な形式を以下のJSON文字列を作成する必要がありJackson ObjectMapperでシリアライズされます。JsonAnyGetter/JsonAnySetter得JSONが倍増した値
@Data
public class Angebot {
private String instanzId;
private List<BuchungsKontext> buchungsKontextList;
private Map<String, Object> payload = new HashMap<String, Object>();
@JsonAnyGetter
public Map<String, Object> any() {
return payload;
}
@JsonAnySetter
public void set(String name, Object value) {
payload.put(name, value);
}
}
-であるように私は、このクラスのインスタンスをシリアル化した場合、結果のJSONは、このようなものになります。それは自分だとしてあなたは「ペイロード」のデータを見ることができるように
"gesamtAngebot":{
"angebotList":[{
"instanzId":"string",
"buchungsKontextList":[{
"quellSystem":"SOMETHING",
"payload":{}
}],
"payload":{"test1":"test1"},
"test1":"test1"
}]
}
が倍増しています理由は分かりません。
ご迷惑をおかけして申し訳ありません。
あなたの提案に感謝しますが、実際に私は関心がなく、JSONペイロードにあるすべての要素の匿名コンテナとして「ペイロード」を使用したいと考えています(テストistはただ1つの要素です彼らのもっと多くのものになる)。だから、私はanygetter/-setterを使用している。最初のjsonファイルのように見えるはずです。 – Gremi
@Gremi私が言ったように 'any()'メソッドを削除して、正しいJSONを持っているはずです – tima
ありがとう@tima、これはうまくいきました!場合によっては、docuも読むべきです。 – Gremi