Jackson ObjectMapper返回null

时间:2016-08-01 13:29:16

标签: java jackson

我有以下课程:

@JsonRootName(value = "customer")
@JsonIgnoreProperties(ignoreUnknown = true)
public class Data{
    @JsonProperty("salutation")
    public String salutation;
    @JsonProperty("firstName")
    public String firstName;
    @JsonProperty("lastName")
    public String lastName;
    @JsonProperty("birthDate")
    public String birthDate;
}

我想将传入的JSON转换为此POJO。 Json看起来像这样:

{   "customer": {
    "lastName": "test lastname",
    "firstName": "test firstname",
    "salutation": "test salutation",
    "birthDate": "test date",
    "addresses": {
      "city": "test city",
      "postalCode": "test postal code",
      "country": "test country",
      "streetNumber": "test number",
      "street": "test street"
    } } }

问题:实际数据不在根标记中,而是嵌套在"customer"中。这就是我使用@JsonRootName的原因。还有一些数据,如city,postalCode,所有地址,我不需要这个对象实例。这就是我添加JsonIgnoreProperties(ignoreUnknown = true)

的原因

当我使用时:

return mapper.readValue(getResource("/test.json"), Data.class);

它返回一个Data实例,但它的每个属性都为null。我该如何解决这个问题以及为什么它不起作用?第一次在这里使用jackson mapper ..谢谢!

0 个答案:

没有答案