我有如下數據{ "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])
}
- 1 回答
- 0 關注
- 101 瀏覽
添加回答
舉報
0/150
提交
取消