带点杰克逊JSON解析的属性名称

时间:2016-01-27 15:26:08

标签: java json serialization annotations jackson

我尝试使用@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。 这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

无法相信我犯了这个错误!但是,对于那些偶然遇到这种情况的人来说,它会很有用! 这是不使用Jackson Mapper进行序列化的问题。

正在使用

进行序列化
JSONObject(new Compare())

需要使用Jackson Mapper

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