Scala 用circe光学器件解码嵌套阵列

Scala 用circe光学器件解码嵌套阵列,scala,circe,circe-optics,Scala,Circe,Circe Optics,我有这样的JSON: "data": { "project": { "activityChildren": [ { "id": 2, "parents": [ { "id": 1 } ] }, ] } } 我想用circe optics将其解码为List[(Long,List[L

我有这样的JSON:

  "data": {
    "project": {
      "activityChildren": [
        {
          "id": 2,
          "parents": [
            {
              "id": 1
            }
          ]
        },

      ]
    }
  }
我想用circe optics将其解码为
List[(Long,List[Long])]
。我得到的结果是:

  val activityParents: Map[Long, List[Long]] = root.data.activityChildren.each.json
      .getAll(json)
      .flatMap { activity =>
        root.id.long.getOption(activity).map(_ -> root.parents.each.long.getAll(activity))
      }
      .toMap
我想知道是否有可能为此定义一个镜头,只将JSON转换为所需的映射,而不显式映射到中间数组。如果是,怎么做