我從 API 回應中獲取 json 陣列中的兩種型別的資料:字串和 json 物件
JSON::
{
"elements": [
"task.",
"weeks.",
{
"image_url": "https://www.graph-2x.jpg"
}
]
}
data class::
@SerializedName("elements" ) var bodyElements : ArrayList<String> = arrayListOf()
它會引發錯誤,因為我已經提到資料型別是字串。誰能建議我如何決議 Kotlin 中的多型別 json 陣列?提前致謝。
uj5u.com熱心網友回復:
對于這種特定的 JSON 格式,您可以使用以下內容:
使用Any作為資料型別:
data class ElementsResponse(@SerializedName("elements") val elements: ArrayList<Any>)
并使用回應,檢查Any是String或LinkedTreeMap
when(element) {
is String -> {
// task. or weeks.
println("string: $element")
}
is LinkedTreeMap<*, *> -> {
// key: image_url / value: https://www.graph-2x.jpg
println("image_url: ${element["image_url"]}")
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/446040.html
上一篇:為每一行決議資料幀
