我有如下数据
{
"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])
}
游乐场链接