CodeBlanks Logo Icon CodeBlanks

writeValueAsString

writeValueAsString ile nesneyi JSON'a çevirmeyi öğrenirsin.

writeValueAsString ile serileştirme

Bir Java nesnesini yapısal metne çevirmek için mapper.writeValueAsString(obj) kullanılır. Dönen String yapısal biçimdedir. User u = new User("Ayşe", 30); örneği {"name":"Ayşe","age":30} biçiminde serileşir.

Alanlar varsayılan olarak anahtar olur. Çıktıyı okunaklı yapmak için mapper.enable(SerializationFeature.INDENT_OUTPUT) kullanılır. Boş değerleri atlamak için Jackson'ın null atlama annotation'ı sınıfa eklenir.

Çıktıyı biçimlendirme

Varsayılan çıktı tek satırlık sıkıştırılmış metindir. Okunabilirlik için mapper.enable(SerializationFeature.INDENT_OUTPUT) çağrısı girintili çıktı verir. Boş alanları atlamak için sınıfa Jackson'ın null atlama annotation'ı eklenir.

Tarih gibi özel türler için mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS) kullanılır. Bu ayarlar tek bir ObjectMapper örneğinde yapılır; birden çok serileştirme işlemini etkiler.

Uygulama User nesnesini yapısal metne çevir

record User(String name, int age) {} tanımla. main içine throws Exception ekle. ObjectMapper mapper = new ObjectMapper(); oluştur, User u = new User("Mehmet", 25); ile bir kullanıcı oluştur, String text = mapper.writeValueAsString(u); ile metin üret ve System.out.println(text); ile 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 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("Mehmet", 25);
        String text = mapper.writeValueAsString(u);
        System.out.println(text);
    }
}

Beklenen çıktı

{"name":"Mehmet","age":25}

Soru ve cevaplar

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

1 writeValueAsString ne döndürür?

  • byte[]
  • Object
  • List
  • String Doğru cevap

Açıklama: writeValueAsString yapısal metin olarak String döndürür.

2 Serileştirme çağrısını tamamla

Soru
String text = mapper.____(u);
Cevap
String text = mapper.writeValueAsString(u);

Açıklama: writeValueAsString User'ı yapısal metne çevirir.

3 Serileştirme kavramlarını eşleştir

Kavram Anlamı
writeValueAsString Nesneden metne
INDENT_OUTPUT Girintili çıktı
@JsonInclude Boş değerleri atlama
User u = new User(...) Serileştirilecek nesne

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