为了账号安全,请及时绑定邮箱和手机立即绑定

如何在golang中编写带有嵌套递归数据的结构

如何在golang中编写带有嵌套递归数据的结构

Go
狐的传说 2023-07-17 16:45:59
我有如下数据{    "cars": {        "toyota": [            "sedan",            "pickup"        ],        "honda": [            "sedan",            "couple",            "pickup"        ]                ....    }}该列表可能会继续增长。我试图找到一个正确的结构来服务器数据并返回到 http 响应编写器。我拥有的结构。type Autos struct {    Cars struct {        Toyota []string `json:"toyota"`        Honda  []string `json:"honda"`    } `json:"cars"`}但是上面的结构体已经预定义了“Toyota”“Honda”我正在寻找一种仅使用一个或两个结构来表示数据结构的方法。提前致谢。
查看完整描述

1 回答

?
qq_笑_17

TA贡献1818条经验 获得超7个赞

你可以做:


type Autos struct {

    Cars map[string][]string `json:"cars"`

}

这是一个完整的工作示例,打印“coupe”:


package main


import (

    "encoding/json"

)


type Autos struct {

    Cars map[string][]string `json:"cars"`

}


func main() {

    x := `{

    "cars": {

        "toyota": [

            "sedan",

            "pickup"

        ],

        "honda": [

            "sedan",

            "coupe",

            "pickup"

        ]

    }

}`


    var a Autos

    err := json.Unmarshal([]byte(x), &a)

    if err != nil {

        panic(err)

    }

    println(a.Cars["honda"][1])

}

游乐场链接


查看完整回答
反对 回复 2023-07-17
  • 1 回答
  • 0 关注
  • 77 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信