如何在深度嵌套的 JSON 中将所有子 ID 与其父 ID 进行比较?

这是我需要验证的 JSON 文档。我必须检查孩子中的所有 parent_id 是否正确。如果所有父子 ID 都是正确的,我将返回一个“有效”字符串。


{

  "id": 10,

  "children": [

    {

      "id": 25,

      "parent_id": 10,

      "children": [

        {

          "id": 131,

          "parent_id": 25,

          "children": null

        },

        {

          "id": 33,

          "parent_id": 25,

          "children": [

            {

              "id": 138,

              "parent_id": 33,

              "children": null

            },

            {

              "id": 139,

              "parent_id": 33,

              "children": null

            },

            {

              "id": 140,

              "parent_id": 33,

              "children": null

            },

            {

              "id": 160,

              "parent_id": 33,

              "children": null

            },

            {

              "id": 34,

              "parent_id": 33,

              "children": [

                {

                  "id": 26,

                  "parent_id": 34,

                  "children": null

                },

                {

                  "id": 64,

                  "parent_id": 34,

                  "children": null

                },

                {

                  "id": 65,

                  "parent_id": 34,

                  "children": null

                }

              ]

            },

            {

              "id": 35,

              "parent_id": 33,

              "children": null

            },

            {

              "id": 36,

              "parent_id": 33,

              "children": null

            },

            {

              "id": 38,

              "parent_id": 33,

              "children": null

            },

            {

              "id": 39,

              "parent_id": 33,

              "children": null

            },

            {

              "id": 40,

              "parent_id": 33,

              "children": null

            },

我从 API 中获取值,但现在我很难编码 Json 值


当年话下
浏览 124回答 1
1回答

森林海

定义与数据结构匹配的类型:type node struct {    ID       int     `json:"id"`    ParentID int     `json:"parent_id"`    MainID   int     `json:"main_id"`    Children []*node `json:"children"`}编写一个递归函数来检查数据:func check(n *node) bool {    for _, c := range n.Children {        if c.ParentID != n.ID {            return false        }        if !check(c) {            return false        }    }    return true}将 JSON 解组为该类型的值。检查结果。var n nodeerr := json.Unmarshal(data, &n)if err != nil {    log.Fatal(err)}fmt.Println(check(&n))在 GoLang PlayGround 上运行它。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go