Android ve sunucu kodu için data class
Her JSON nesnesi camelCase property'li bir data class olur. kotlinx.serialization açıkken her class @Serializable ile işaretlenir, property adının farklı olduğu her yerde @SerialName asıl anahtarı korur. Tipi bilinmeyen alanlar JsonElement kullanır; kotlinx.serialization bunu ek kod yazmadan okuyabilir.
Bazı öğelerde olmayan ya da null olabilen alanlar = null ile nullable tip olarak yazılır, böylece alan yoksa decode işlemi hata vermez. Tarihler String kalır, çünkü kotlinx.serialization'da hazır bir tarih tipi yoktur; tarih nesnesi istiyorsan kendi serializer'ını ekle ya da kotlinx-datetime kullan. Annotation'lar olmadan class'lar Moshi, Gson ya da Jackson ile de çalışır.