我有一个简单的类,我想使用 Jackson 将其反序列化为 JSON。我想在我的 JSON 中逻辑地重命名一个字段,而另一个我想与我的 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 属性(但应该为 manifest-version 创建一个 JSON 属性,我在其中定义了 @JsonProperty。
预期输出为 { "manifest-version" : "2.0" } 实际输出为 { "manifest-version" : "2.0", "manifestVersion":"2.0" }
任何帮助,将不胜感激。