在 Kotlin 中,您可以使用 Kotlinx serialization 库来将 JSON 反序列化为数据类(data class)对象。
首先,需要在项目的 Gradle 文件中添加以下依赖项:
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.0")
接下来,假设您已经有一个数据类(data class)定义,如下所示:
@Serializable
data class Person(val name: String, val age: Int)
请注意,在数据类定义之前添加了 @Serializable
注释,这是 Kotlinx serialization 库所要求的。
要将 JSON 反序列化为该数据类对象,可以使用以下代码:
import kotlinx.serialization.decodeFromString
import kotlinx.serialization.json.Json
val json = """{"name":"John","age":30}"""
val person = Json.decodeFromString<Person>(json)
在这个例子中,我们首先将 JSON 字符串分配给 json
变量。然后,我们使用 Json.decodeFromString
函数将其反序列化为 Person
对象,并将其分配给 person
变量。
如果您需要反序列化一个 JSON 数组,可以使用以下代码:
val jsonArray = """[{"name":"John","age":30},{"name":"Jane","age":25}]"""
val people = Json.decodeFromString<List<Person>>(jsonArray)
在这个例子中,我们使用 Json.decodeFromString
函数将 JSON 数组反序列化为一个 List<Person>
对象,其中每个 JSON 对象都映射到一个 Person
对象。
希望这个简单的例子可以帮助您了解如何使用 Kotlinx serialization 库将 JSON 反序列化为数据类对象。如果您有任何其他问题,请随时问我!