eksik bir dize den Nesne serisini çalışıyorum ne zaman ve bu Dize belli alanları içermiyor ya da benim Nesne olmayan alana sahiptir değil deserializer Jackson serializer ile tamamen tamam ve sadece unkown özelliklerini göz ardı ederek null/Optional.empty() alanlarına sahip Object'imi yaratır. Okuyucuyu FAIL_ON_UNKNOWN_PROPERTIES ile ayarlamaya çalıştım ancak başarıya ulaşamadı. Oldukça basit bir Jackson konfigürasyonuna sahibim, Java 8 ve java.time desteği ekledim.Jackson, bilinmeyen özellikleri üzerinde başarısız veya değerleri
Düzenleme:
public final ObjectReader reader;
public final ObjectWriter writer;
private JsonMapperTestInstance() {
ObjectMapper mapper = new JacksonConfiguration().objectMapper();
reader = mapper.reader();
writer = mapper.writer().withFeatures(SerializationFeature.INDENT_OUTPUT);
}
public <T> T deserialize(Class<T> actual, String serialized) throws IOException {
return reader.forType(actual).readValue(serialized);
}
JacksonConfiguration:
@Primary
@Bean
public ObjectMapper objectMapper() {
ObjectMapper mapper = new ObjectMapper();
registerModules(mapper);
mapper.setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES);
return mapper;
}
@Bean
public JavaTimeModule javaTimeModule() {
return new JavaTimeModule();
}
@Bean
public Jdk8Module jdk8Module() {
return new Jdk8Module().configureAbsentsAsNulls(true);
}
private void registerModules(ObjectMapper mapper) {
mapper.registerModule(jdk8Module());
mapper.registerModule(javaTimeModule());
}
@Primary
@Bean
public ObjectWriter writer(ObjectMapper mapper) {
return mapper.writer();
}
@Primary
@Bean
public ObjectReader reader(ObjectMapper mapper) {
return mapper.reader();
}
Sınıfınızda @JsonIgnoreProperties (ignoreUnknown = false) kullanarak herhangi bir fark var mı? – JustOneMoreQuestion
Lütfen kod yazınız –