CodeBlanks Logo Icon CodeBlanks

Özet - Serileştirme

ObjectMapper ve @JsonProperty'yi birleştirerek bir ayar dosyası yazarsın.

Özet - Serileştirme

Bu grupta Jackson ile yapısal metin serileştirmeyi öğrendin. ObjectMapper merkezi sınıftır; writeValueAsString nesneden metne, readValue metinden nesneye çevirir. @JsonProperty ile anahtar adlarını, null atlama annotation'ı ile boş değerleri yönettin. List ve Map için TypeReference kullanıldı.

Bu özette bir User kaydını yapısal metne çevirip geri okuyacağız.

Uygulama User'ı yapısal metne çevir ve geri oku

record User(String name, int age) {} tanımla. main içine throws Exception ekle. ObjectMapper mapper = new ObjectMapper(); oluştur, User u = new User("Ayşe", 30); ile bir kullanıcı üret, String text = mapper.writeValueAsString(u); ile metne çevir, User u2 = mapper.readValue(text, User.class); ile geri oku ve System.out.println(u2.name() + " " + u2.age()); 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) throws Exception {
        // ObjectMapper, User örneği, writeValueAsString, readValue ve println

    }
}

Ö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) throws Exception {
        ObjectMapper mapper = new ObjectMapper();
        User u = new User("Ayşe", 30);
        String text = mapper.writeValueAsString(u);
        User u2 = mapper.readValue(text, User.class);
        System.out.println(u2.name() + " " + u2.age());
    }
}

Beklenen çıktı

Ayşe 30

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Hangi metot metinden nesneye çevirir?

  • getProperty
  • writeValueAsString
  • readValue Doğru cevap
  • toText

Açıklama: readValue yapısal metni Java nesnesine çevirir.

2 Anahtar adını özelleştiren annotation

Soru
@____("user_name") String userName
Cevap
@JsonProperty("user_name") String userName

Açıklama: @JsonProperty metin anahtar adını belirler.

3 Serileştirme özetini eşleştir

Kavram Anlamı
ObjectMapper Dönüşüm merkezi
writeValueAsString Nesneden metne
readValue Metinden nesneye
@JsonProperty Metin anahtar adı

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