登录
首页 >  Golang >  Go问答

创造某个场景所需的结构方法

来源:stackoverflow

时间:2024-03-14 17:39:25 192浏览 收藏

在IT行业这个发展更新速度很快的行业,只有不停止的学习,才不会被行业所淘汰。如果你是Golang学习者,那么本文《创造某个场景所需的结构方法》就很适合你!本篇内容主要包括##content_title##,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

我们如何为这种输出定义一个结构体

{"test": {
"124": {
           "Num1": {
                    "name": [],
                    "age":[],
                    "salary": "23565",
                    "location":[
                    {
                    "city": "loc",
                    "street":2
                    },
                    {
                    "city": "loc",
                    "street":2
                    }
                ]
                },
                 "Num2": {
                    "name": [],
                    "age":[],
                    "salary": "23565",
                    "location":[
                    {
                    "city": "loc",
                    "street":2
                    },
                    {
                    "city": "loc",
                    "street":2
                    }
                ]
                },
                 "Num3": {
                    "name": [],
                    "age":[],
                    "salary": "23565",
                    "location":[
                    {
                    "city": "loc",
                    "street":2
                    },
                    {
                    "city": "loc",
                    "street":2
                    }
                ]
                }
            }
        }
    }

输出可能因输入或文件输入而异。例如,正如您所看到的,“124”内的 json 可能会根据输入而变化。 例如: 它可以是 num1、num2、num3、...num10,或者在某些情况下只是 num1 和 num2,在某些情况下它可以超过 num10 个对象 像下面的东西 {"test": { "124": { "num1":{...} ,........., "num12":{...}}} 或多或少。 不知道如何使其适合所有情况,尝试使用具有大约 10 个 num 对象的设计,但如果它具有 15 或 20 个 num 对象,在我的情况下,只有 10 个 num 对象才会进行解组,如果还不止这些。 如果有人可以帮助我解决这个问题,那将会很有帮助。


解决方案


这是唯一看起来结构化的部分

{
  "name": [],
  "age": [],
  "salary": "23565",
  "location": [
    {
      "city": "loc",
      "street": 2
    },
    {
      "city": "loc",
      "street": 2
    }
  ]
}

所以你可以为上面创建一个 abc 结构

那么你拥有的是

map[string]map[string]map[string]abc

或者如果 test 和 124 是固定键,您可以制作

type XYZ struct {
    Test Test `json:"test"`
}

type Test struct {
     X map[string]ABC
}

但无论如何你都需要处理地图:)

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《创造某个场景所需的结构方法》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>