我有如下數(shù)據(jù){ "cars": { "toyota": [ "sedan", "pickup" ], "honda": [ "sedan", "couple", "pickup" ] .... }}該列表可能會繼續(xù)增長。我試圖找到一個正確的結(jié)構(gòu)來服務器數(shù)據(jù)并返回到 http 響應編寫器。我擁有的結(jié)構(gòu)。type Autos struct { Cars struct { Toyota []string `json:"toyota"` Honda []string `json:"honda"` } `json:"cars"`}但是上面的結(jié)構(gòu)體已經(jīng)預定義了“Toyota”“Honda”我正在尋找一種僅使用一個或兩個結(jié)構(gòu)來表示數(shù)據(jù)結(jié)構(gòu)的方法。提前致謝。
1 回答

qq_笑_17
TA貢獻1818條經(jīng)驗 獲得超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 關(guān)注
- 111 瀏覽
添加回答
舉報
0/150
提交
取消