添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

kotlin deserialize json to data class

在 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 反序列化为数据类对象。如果您有任何其他问题,请随时问我!

  •