我有以下课程:
@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 ..谢谢!