我有以下 JSON 片段:
{
"hd":{
"hdEnabled":true,
"defaultStreamQualitySetting":"HD720",
"streamQualitySettings":{
"SD":"SD - low quality",
"HD720":"Standard HD - 720p",
"HD1080":"Full HD - 1080p"
}
}
}
我想用 Klaxon 和 Gson 将 streamQualitySettings 解析为一个名为“Option”的对象,该对象有一个键和描述,以便我以 3 个选项的列表结束
- 选项(键 = SD,描述 =“SD - 低质量”)
- 选项(键 = HD720,描述 =“标准高清 - 720p”)
- 选项(键 = HD1080,描述 =“全高清 - 1080p”)
如何使用 Klaxon(或 Gson)实现这一目标?
这是我的代码
val jsonArray = bootstrapJsonObject()
.lookup<JsonArray<JsonObject>>("hd.streamQualitySettings")
.first()
val gson = Gson()
val options = ArrayList<Option>()
jsonArray.forEach {
options.add(gson.fromJson(it.toJsonString(), Option::class.java))
}