假设我有一些 JSON 数据进来,我最终想用这样的代码表示:
data class Parent(val id: String, val children: List<Child>)
data class Child(val id: String, val parentId: String)
但是进来的JSON更像是这样的:
{
"id": "parent-1",
"children": [
{
"idPrefix": "child",
"idNum": "1"
},
{
"idPrefix": "child",
"idNum": "2"
},
{
"idPrefix": "child",
"idNum": "3"
}
]
}
换句话说,您需要将自定义适配器用于:
Child.id
在解析每个孩子时正确组合。child.parentId
在解析父级时向每个子级添加。
ChildAdapter
写一个可以结合idPrefix
和的很简单idNum
。但是一旦你到了第二层嵌套,我不知道该怎么办;我不想将整个事情解析为一大块数据,然后手动处理。有没有更好的方法来处理这个问题(可能嵌套超过 2 个级别)?
此外,这有望在两个方向上起作用 - 即两者fromJson()
以及toJson()
.