Json
- Kotlin kursu
- İleri seviye
- Ders 26/83
- 5 dk
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
// Json kullan
// buraya yaz
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.Json
fun main() {
}Örnek çözüm
@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
val json = Json.____(user)
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.