#java #spring-boot #jackson #jackson-databind
#java #весенняя загрузка #Джексон #jackson-databind
Вопрос:
Я пытаюсь обновить библиотеку jackson с 2.9.x до 2.11.x. заметил, что в 2.10 есть некоторые изменения, из-за которых приведенное ниже не работает.
class Customer {
@JsonProperty("value")
String Value;
@JsonIgnore
String status;
// getters and setters
}
class CustomerResponse {
@JsonProperty
String id;
@JsonProperty
Customer customer;
}
Class Response {
@JsonProperty
CustomerResponse response;
}
Response val = getReturn();
ObjectMapper obm = new ObjectMapper();
CustomerResponse scc= obm.convertValue(val.getCustomerResponse(), new TypeReference<CustomerResponse>(){});
String statusFromCustomer = scc.getCustomer().getStatus();
Значение statusFromCustomer при использовании Jackson 2.9.x работает, как ожидалось, но в 2.10 оно возвращает null .
Может ли это быть из-за @JsonIgnore? если это так, то как это работало в версиях 2.9.x?
Комментарии:
1. Пожалуйста, добавьте больше деталей:
SomeCustomClass
класс и связанные классы. Также предоставьтеJSON
полезную нагрузку.2. Попробуйте добавить имя свойства в качестве метаданных аннотации к аннотации JsonProperty затронутого поля, например: @JsonProperty(«statusFromCustomer»).
3. Опубликуйте JSON..