如何忽略标签并仅包含POJO到JSON转换的值

时间:2017-11-06 23:25:41

标签: json jackson pojo

如何在使用Jackson将以下POJO转换为JSON时忽略标签“condition”?

class Criteria<T> {
    private Map<String, Condition<T>> condition;

    @JsonProperty
    public Map<String, Condition<T>> getCondition() {
        return condition;
    }

    public Criteria<T> setCondition(Map<String, Condition<T>> condition) {
        this.condition = condition;
        return this;
    }

}

class Condition<T> {
    String field;
    T value;

    public String getField() {
        return field;
    }

    public Condition setField(String field) {
        this.field = field;
        return this;
    }

    public T getValue() {
        return value;
    }

    public Condition setValue(T value) {
        this.value = value;
        return this;
    }
}

实际输出包含字段标签“condition”,如下所示。

实际输出: {“criteria”:{“condition”:{“EQUALS”:{“field”:“column1”,“value”:“col_value”}}}}

预期输出 {“criteria”:{“EQUALS”:{“field”:“column1”,“value”:“col_value”}}}

1 个答案:

答案 0 :(得分:1)

找到解决方案,在相应的getter方法上使用@JsonValue注释而不是@JsonProperty。