杰克逊ObjectMapper无法识别@JsonProperty注释

时间:2019-05-15 10:39:17

标签: java json maven jackson2

我正在使用jsonschema2pojo-maven-plugin(版本0.4.30)创建POJO。但是,当我在代码中使用这些pojo时,Jackson ObjectMapper无法识别@JsonProperty批注。下面是示例json:

{
  "title": "IP Address",
    "description": "Ip Address",
    "type": "object",
    "properties": {
         "ip_address": {
             "type": "string",
             "minLength": 1,
             "maxLength": 39,
             "description": "ip address"
           }
    }
}

我尝试匹配jackson-databind版本,但是没有用。

@JsonInclude(Include.NON_NULL)
@JsonPropertyOrder({"ip_address"})
public class IpGeo {
    @JsonProperty("ip_address")
    @JsonPropertyDescription("ip address")
    @Size(
        min = 1,
        max = 39
    )
    private String ipAddress;
    @JsonProperty("ip_address")
    public String getIpAddress() {
        return this.ipAddress;
    }

    @JsonProperty("ip_address")
    public void setIpAddress(String ipAddress) {
        this.ipAddress = ipAddress;
    }
}

我希望ObjectMapper从json创建IpGeo类。它应该将ip_address映射到ipAddress。但这会显示错误“ ip_address字段未确认”。

1 个答案:

答案 0 :(得分:0)

我在代码中找到了问题。 我曾经使用过JaxbAnnotationIntrospector,它利用了适用于JSON映射的JAXB注释。