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



我有如下数据

{
"cars": {
"toyota": [
"sedan",
"pickup"
],
"honda": [
"sedan",
"couple",
"pickup"
]
....
}
}

该列表可能会继续增长。我正在尝试找出一个合适的结构来服务器数据并返回到 HTTP 响应编写器。

我拥有的结构。

type Autos struct {
Cars struct {
Toyota []string `json:"toyota"`
Honda  []string `json:"honda"`
} `json:"cars"`
}

但是上面的结构已经预定义了"丰田"本田">

我正在寻找一种仅使用一个或两个结构来表示数据结构的方法。提前谢谢。

你可以做:

type Autos struct {
Cars map[string][]string `json:"cars"`
}

这是一个完整的工作示例,打印"轿跑车":

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])
}

游乐场链接

相关内容

  • 没有找到相关文章

最新更新