Jackson を使用して JSON に逆シリアル化したい単純なクラスがあります。JSON で論理的に 1 つのフィールドの名前を変更し、もう 1 つのフィールドの名前を Java クラスで定義されているのと同じ名前にしたいと考えています。
@JsonSerialize(include = Inclusion.NON_NULL)
public static class Manifest {
public Manifest(){
this.files = new ArrayList<String>();
}
@JsonProperty("manifest-version")
private String manifestVersion;
private ArrayList<String> files;
@JsonIgnore
public String getManifestVersion() {
return manifestVersion;
}
@JsonIgnore
public void setManifestVersion(String manifestVersion) {
this.manifestVersion = manifestVersion;
}
public ArrayList<String> getFiles() {
return files;
}
public void setFiles(ArrayList<String> files) {
this.files = files;
}
public void addFile(String file) {
this.files.add(file);
}
}
getter/setter の @JsonIgnore が manifestVersion を JSON プロパティにしないことを期待しています (ただし、@JsonProperty が定義されている manifest-version の JSON プロパティを作成する必要があります。
期待される出力は { "manifest-version" : "2.0" } 実際の出力は { "manifest-version" : "2.0", "manifestVersion":"2.0" } です
どんな助けでも大歓迎です。