2

假设我有一些 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"
    }
  ]
}

换句话说,您需要将自定义适配器用于:

  1. Child.id在解析每个孩子时正确组合。
  2. child.parentId在解析父级时向每个子级添加。

ChildAdapter写一个可以结合idPrefix和的很简单idNum。但是一旦你到了第二层嵌套,我不知道该怎么办;我不想将整个事情解析为一大块数据,然后手动处理。有没有更好的方法来处理这个问题(可能嵌套超过 2 个级别)?

此外,这有望在两个方向上起作用 - 即两者fromJson()以及toJson().

4

0 回答 0