1

Gson を使用して JSON を POJO にマップしようとしていますが、POJO には JSON の一部ではないカスタム フィールドが含まれています。更新中のフィールドの名前をリストに追加するために、他のフィールドのセッターが呼び出されると、フィールドが更新されます。

POJO クラスは次のようになります。

public class myPojo {

  private List<String> dirtyFields;
  private String id;
  private String subject;
  private String title;

  public myPojo() {
     dirtyFields = new ArrayList<String>();
  }

  public getId() {
     return id;
  }

  public setId(String id) {
    this.id = id;
  }

  public getSubject() {
    return subject;
  }

 public setSubject(String subject) {
    this.subject = subject;
    dirtyFields.add("subject");
 }

 // more setter/getters
}

ivardirtyFieldsは逆シリアル化されたフィールドではありませんが、更新中のフィールドを追跡するために使用されます。ただし、マッピング後、リストは空のリストになるようです。ジャクソンの場合はそうではありませんでした。これは、予想される Gson の動作によるものですか?

4

1 に答える 1