Bu Sayfayı Paylaş:

İpucu

Unrecognized Field Hatası

Jakson ile bir JSON'ı nesneye çevrilirken com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field .. hatası alabilirsiniz. Bu yazıda bunun çözümü anlatılacaktır.
Jakson ile bir JSON'ı nesneye çevrilirken aşağıdaki gibi bir hata alabilirisiniz:
Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "test" (class X), not marked as ignorable (2 known properties: "Y", "Z")
at [Source: (org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream); line: 1, column: 76] (through reference chain: java.lang.Object[][0]->X["test"])
Bu hata bir özelliğin JSON'da olmasına rağmen sınıfta olmamasından kaynaklanır. Eğer sadece bu hatayı engellemek istiyorsanız sınıfın başına aşağıdaki ifadeyi ekleyebilirsiniz:
@JsonIgnoreProperties(ignoreUnknown=true)
class Test{
..
}
Bu durumda JSON'da olup Java sınıfında olmayan özellikler dikkate alınmaz.
Eğer JSON ve sınıfın özelliklerinin isimlerinde bir eşleşme sorunu var ise (örneğin büyük küçük harf harfi, arada _ olup olmaması vb..) sizin için gerekli özellikler de yüklenmemiş olur. Bunun kesin çözümü Exception'da belitirlen özellik adını sınıftaki alana vermektir :
@JsonProperty("test")
private String test;

Bu şekilde verildiğinde artık JSON ile Java sınıfındaki özellik adları "test" ise herhangi bir hata oluşmayacaktır.

Materyal

Godoro Tanıtım - Görüntülü Eğitim - Enterprise Java ORM, JPA & Hibernate

Godoro'nun ORM, JPA & Hibernate görüntülü eğitiminin tanıtım.



Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir