CodeBlanks Logo Icon CodeBlanks

Jackson ObjectMapper

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

Main.java
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

Main.java
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

Soru
ObjectMapper mapper = new ____();
Cevap
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ı

Orta seviye bölümündeki tüm dersler