JSONのライブラリ何を使ってますか?
👉 square/moshi: A modern JSON library for Kotlin and Java.   
👉 FasterXML/jackson: Main Portal page for the Jackson project   
👉 google/gson: A Java serialization/deserialization library to convert Java Objects into JSON and back  
これらは、Javaベースで書かれています。Kotlin は100%相互運用可能ですが微妙に期待しない挙動をします。
data class User(
    val name: String,
    val email: String,
    val age: Int = 13,
    val role: Role = Role.Viewer
)
enum class Role { Viewer, Editor, Owner }
 
{
    "name" : "John Doe",
    "email" : "[email protected] "
}
 
class JsonUnitTest {
    private val jsonString = """
            {
                "name" : "John Doe",
                "email" : "[email protected] "
            }
        """.trimIndent()
    @Test
    fun gsonTest() {
        val user = Gson().fromJson(jsonString, User::class.java)
        assertEquals("John Doe",user.name)
        assertEquals(null, user.role)
        assertEquals(0, user.age)
//      User(name=John Doe, 
//           [email protected] , 
//           age=0, 
//           role=null)
    }
}
 
デフォルト値が期待通りにパースできません。
kotlinx.serialization が登場!! 
JetBrains産です。間違いないでしょう。
 
VIDEO  
 
👉 Kotlin/kotlinx.serialization: Kotlin multiplatform / multi-format serialization  
- クロスプラットフォーム 
- 非リフレクション 
- アノテーション @Serializable 
- Kotlin v1.3.30+
 
@Serializable
data class User(
    val name: String,
    val email: String,
    val age: Int = 13,
    val role: Role = Role.Viewer
)
enum class Role { Viewer, Editor, Owner }
class JsonUnitTest {
    private val jsonString = """
            {
                "name" : "John Doe",
                "email" : "[email protected] "
            }
        """.trimIndent()
    @Test
    fun jsonTest() {
        val user = Json.parse(User.serializer(), jsonString)
        assertEquals("John Doe", user.name)
        assertEquals(Role.Viewer, user.role)
        assertEquals(13, user.age)
//      User(name=John Doe, 
//           [email protected] , 
//           age=13, 
//           role=Viewer)
    }
}
 
Gson では無視されていたデフォルト値がきちんと使用されます。
以下のセットアップでどうぞ。
buildscript {
    ext.kotlin_version = '1.3.60'
    repositories { jcenter() }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
    }
}
 
apply plugin: 'kotlin' 
apply plugin: 'kotlinx-serialization'
 
repositories {
    jcenter()
}
dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.14.0" // JVM dependency
}
 
👉 Kotlinx Json vs Gson - Juraj Kušnier - Medium