假设我有一些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()
。