Jackson ObjectMapper
- Java kursu
- Orta seviye
- Ders 76/116
- 5 dk
Jackson ObjectMapper ile nesneden JSON üretmeyi öğrenirsin.
Jackson ObjectMapper
Jackson kütüphanesi Java nesnelerini yapısal metne dönüştürür ve metinden nesne üretir. Merkezi sınıf ObjectMapper'dır. ObjectMapper mapper = new ObjectMapper(); ile bir örnek oluşturursun. Bir nesneyi metne çevirmek için mapper.writeValueAsString(obj), metinden nesne üretmek için mapper.readValue(text, User.class) kullanılır.
Basit bir kayıt (record) ya da POJO, otomatik olarak alan adlarını anahtar yapar. Jackson asıl kurucu, erişim metotları ya da record kullanır. Bu derste önce bir User kaydı tanımlayıp ObjectMapper örneği oluşturacağız.
Record ile veri modeli
Java 16'dan beri record ile kısa veri sınıfları tanımlanır. record User(String name, int age) {} satırı otomatik olarak yapıcı, erişim metodu, equals, hashCode ve toString üretir. Jackson, record'ları doğrudan destekler.
Record alanları final'dır; değiştirici metot içermezler. Bu yüzden değişmez (immutable) veri modelleri için idealdir. Jackson record kurucusundan otomatik olarak alan eşleştirme yapar.
Uygulama User record ve ObjectMapper
record User(String name, int age) {} tanımla. main içinde ObjectMapper mapper = new ObjectMapper(); oluştur, User u = new User("Ayşe", 30); ile bir kullanıcı oluştur ve System.out.println(u.name()); ile adı yazdır. ObjectMapper örneğini kullandığını göstermek için System.out.println(mapper.getClass().getSimpleName()); ile sınıf adını da yazdır.
Başlangıç kodu
import com.fasterxml.jackson.databind.ObjectMapper;
// User record tanımla
public class Main {
public static void main(String[] args) {
// ObjectMapper örneği ve User oluştur, iki println yap
}
}Örnek çözüm
import com.fasterxml.jackson.databind.ObjectMapper;
record User(String name, int age) {}
public class Main {
public static void main(String[] args) {
ObjectMapper mapper = new ObjectMapper();
User u = new User("Ayşe", 30);
System.out.println(u.name());
System.out.println(mapper.getClass().getSimpleName());
}
}Beklenen çıktı
Ayşe ObjectMapper
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 ObjectMapper'ın temel görevi nedir?
- Veritabanına bağlanmak
- Yapısal metin ile Java nesneleri arasında dönüşüm Doğru cevap
- Dosya sisteminde gezinmek
- HTTP isteği göndermek
Açıklama: ObjectMapper yapısal metin ile Java nesneleri arasında köprü kurar.
2 ObjectMapper örneğini tamamla
ObjectMapper mapper = new ____();
ObjectMapper mapper = new ObjectMapper();
Açıklama: ObjectMapper örneği Jackson işlemleri için kullanılır.
3 Jackson kavramlarını eşleştir
| Kavram | Anlamı |
|---|---|
ObjectMapper |
Dönüşüm merkezi |
writeValueAsString |
Nesneden metne |
readValue |
Metinden nesneye |
record |
Kısa veri sınıfı |