gpt4 book ai didi

android - 我不知道如何解析这个嵌套的 json

转载 作者:行者123 更新时间:2023-11-30 05:00:48 26 4
gpt4 key购买 nike

我正在尝试使用解析此 JSON。但是,我不知道如何解析“ child ”。我怎样才能将它映射到一个类?

我创建了一个类来解析“displayProperties”,但我不知道如何解析“children”

{
"displayProperties": {
"description": "",
"name": "Les Ténèbres",
"icon": "/common/destiny2_content/icons/39ba3c78d0ad06c0728374d591c65821.png",
"hasIcon": true
},
"originalIcon": "/common/destiny2_content/icons/39ba3c78d0ad06c0728374d591c65821.png",
"rootViewIcon": "/common/destiny2_content/icons/39ba3c78d0ad06c0728374d591c65821.png",
"nodeType": 1,
"scope": 1,
"objectiveHash": 4168198558,
"children": {
"presentationNodes": [
{
"presentationNodeHash": 655926402
},
{
"presentationNodeHash": 2082711113
},
{
"presentationNodeHash": 2474271317
}
],
"collectibles": [],
"records": []
}
}
abstract class DestinyObject(json : String) : JSONObject(json){

fun optDisplayProperties() : DisplayProperties{
val json_object : DisplayProperties = this.optJSONObject("displayProperties") as DisplayProperties
return json_object
}
}
class DisplayProperties(json : String) : JSONObject(json){
val name = this.optString("name")
val icon = this.optString("icon")
val description = this.optString("description")

}

最佳答案

如下创建模型类:

class Model(
val displayProperties: DisplayProperties,
val originalIcon: String,
val rootViewIcon: String,
val nodeType: String,
val scope: String,
val objectiveHash: Long,
val children: Children
)

class Children(
val presentationNodes: List<Any>,
val collectibles: List<Any>,
val records: List<Any>
)

class DisplayProperties(
val description: String,
val name: String,
val icon: String,
val hasIcon: Boolean
)

如果您想使用任何其他模型而不是Any,那么您还必须创建此模型。希望对你有帮助。除此之外,您还可以使用像 GSON 这样的 JSON 解析器库来解析 JsonObject。对于上面的 JSON 对象,代码如下所示:

Gson().fromJson(json, Model::class.java)

关于android - 我不知道如何解析这个嵌套的 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58274464/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com