我正在尝试使用@JsonProperty命名带有点的属性。

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;

@JsonIgnoreProperties(ignoreUnknown = true)
public class Compare {

@JsonProperty("test.total")
public HitsTotal total;

public HitsTotal getHitsTotal() {
    return total;
}

public void setHitsTotal(HitsTotal hitsTotal) {
    this.total = hitsTotal;
}
}


发生序列化/反序列化时,我看不到属性test.total。
而是显示hitsTotal。
正确的做法是什么?

最佳答案

不敢相信我犯了这个错误!但是,这对于可能偶然遇到此问题的人很有用!
这是不使用Jackson Mapper进行序列化的问题。

正在使用进行序列化

JSONObject(new Compare())


需要改用Jackson Mapper

ObjectMapper om = new ObjectMapper();
JSONObject(om.writeValueAsString(new Compare()))

08-25 05:16