我有 JSON:
{"400" : "120Hz"}
(实际上,我的 JSON 要复杂得多,而且基本上很大)
我使用 Jackson
将数据映射到 FrequencyDTO
。
public class FrequencyDTO {
@JsonProperty("400")
private String frequency;
public String getFreqiency() {
return this.frequency;
}
public void setFrequency(String frequency) {
this.frequency = frequency;
}
}
之后,我需要将此 DTO 发送到前端,但我希望它的字段是人类可读的,例如:{"Frequency_value": "120Hz"}
。
我想到的唯一一件事就是创建某种FrequencyFrontendDTO
,例如:
public class FrequencyFrontendDTO {
@JsonProperty("frequency_value")
public String frequency;
//getters and setters
}
并将其映射到FrequencyDTO
。
有更简洁的方法吗?
最佳答案
@JsonAlias 反序列化属性中的所有别名。但序列化仅适用于给定的@JsonProperty
public FrequencyDTO() {
@JsonProperty("frequency_value")
@JsonAlias({"400"})
private String frequency;
public String getFreqiency() {
return this.frequency;
}
public void setFrequency(String frequency) {
this.frequency = frequency;
}
}
关于java - 使用 Jackson 重命名对象中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50724394/