Özet - Serileştirme
- Java kursu
- Orta seviye
- Ders 81/116
- 5 dk
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
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
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
@____("user_name") String userName
@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ı |