CodeBlanks Logo Icon CodeBlanks

Json

Json.encodeToString ve decodeFromString öğrenirsin.

Json nesnesi

Json, kotlinx.serialization ile JSON üreten ve okuyan nesnedir. Json.encodeToString(value) JSON üretir, Json.decodeFromString<T>(text) JSON okur.

Örnek: val json = Json.encodeToString(user). Bu çağrı user nesnesini {"name":"Ayşe"} biçimine çevirir. Json { prettyPrint = true } ile yapılandırma yapılır. Varsayılan Json nesnesi sıkıştırılmış JSON üretir. decodeFromString<User>(json) tür parametresi ile hedef sınıfı bildirir.

decodeFromString

decodeFromString, bir JSON metnini Kotlin nesnesine çevirir. Tür parametresi ile hedef sınıf bildirilir.

Örnek: val user = Json.decodeFromString<User>("{"name":"Ayşe"}"). Bu çağrı JSON metnini User nesnesine döndürür. JSON alan adları Kotlin özellik adlarıyla eşleşmelidir. Eşleşmeyen alan varsa hata fırlatılır. ignoreUnknownKeys = true ile bilinmeyen alanlar atlanabilir. Bu seçenek dış kaynaklı JSON'da anlamlıdır.

Uygulama Json encodeToString kullan

@Serializable data class User(val name: String) tanımla. main içinde val user = User("Ayşe") yap, val json = Json.encodeToString(user) ile JSON üret ve println("JSON üretildi") yazdır.

Başlangıç kodu

Main.kt
// Json kullan
// buraya yaz
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.Json

fun main() {
    
}

Örnek çözüm

Main.kt
@Serializable
data class User(val name: String)

fun main() {
    val user = User("Ayşe")
    val json = Json.encodeToString(user)
    println("JSON üretildi")
}

Beklenen çıktı

JSON üretildi

Soru ve cevaplar

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

1 encodeToString çağrısını tamamla

Soru
val json = Json.____(user)
Cevap
val json = Json.encodeToString(user)

Açıklama: encodeToString ile nesne JSON'a çevrilir.

2 Json metotlarını eşle

Kavram Anlamı
encodeToString Nesneden JSON
decodeFromString JSON'dan nesne
Json Yapılandırma
prettyPrint Okunabilir çıktı

3 Json.decodeFromString hangi yönde çalışır?

  • Nesneden JSON'a
  • JSON'dan nesneye Doğru cevap
  • Nesneden XML'e
  • XML'den nesneye

Açıklama: decodeFromString JSON metnini nesneye çevirir.

İleri seviye bölümündeki tüm dersler