Kotlin Gson 反序列化:处理缺失字段并设置默认值
在 Kotlin 中使用 Gson 进行反序列化时,如果不存在的字段没有设置默认值,那么默认会将其设置为 null。如果你希望设置默认值,可以使用 @SerializedName 注解来指定字段的名称,并在类中为字段设置默认值。\n\n例如,假设有以下 JSON 数据:\n\njson\n{\n "name": "John",\n "age": 25\n}\n\n\n并且对应的 Kotlin 类如下:\n\nkotlin\ndata class Person(\n @SerializedName("name") val name: String = "Unknown",\n @SerializedName("age") val age: Int = 0,\n @SerializedName("email") val email: String = "N/A"\n)\n\n\n在这个例子中,email 字段在 JSON 中不存在,但是通过在类中使用 @SerializedName 注解并为其设置默认值 "N/A",当进行反序列化时,email 字段会被设置为 "N/A",而不是 null。\n\n可以使用以下代码进行反序列化:\n\nkotlin\nval gson = Gson()\nval json = "{\"name\":\"John\",\"age\":25}"\nval person = gson.fromJson(json, Person::class.java)\nprintln(person.email) // 输出:N/A\n\n\n如此,即使 JSON 中没有 "email" 字段,person.email 的值仍然为 "N/A"。\n\n希望这可以帮助到你!
原文地址: https://www.cveoy.top/t/topic/qanf 著作权归作者所有。请勿转载和采集!