Klaxon怎么解析一个对象中一个属性是一个list的json数据
时间: 2024-03-10 13:45:50 浏览: 23
在 Klaxon 中,解析一个对象中一个属性是一个列表的 JSON 数据相对简单。下面是一个例子,演示了如何使用 Klaxon 解析这种类型的 JSON 数据:
```kotlin
import com.beust.klaxon.*
data class Person(val name: String, val age: Int)
data class Company(val name: String, val employees: List<Person>)
fun main() {
val jsonString = """
{
"name": "ABC Company",
"employees": [
{"name": "John Smith", "age": 30},
{"name": "Jane Doe", "age": 25}
]
}
""".trimIndent()
val result = Klaxon().parse<Company>(jsonString)
println(result?.name)
result?.employees?.forEach {
println(it.name)
println(it.age)
}
}
```
在这个例子中,我们定义了一个包含 `name` 和 `employees` 两个属性的 `Company` 类。`employees` 属性是一个 `List<Person>` 类型的属性。我们使用 `Klaxon` 解析 JSON 数据,并将其转换为 `Company` 对象。然后,我们可以使用 `Company` 对象访问 `name` 属性,使用 `forEach` 循环遍历 `List` 中的每个 `Person` 对象。
需要注意的是,Klaxon 支持自定义解析器、自定义转换器和自定义序列化器等高级功能,可以更灵活地处理复杂的 JSON 数据结构。