2 回答

TA貢獻1828條經驗 獲得超4個贊
把水果放在籃子里。
預期輸出和實際輸出之間的區別在于數組在預期輸出中用對象包裝。修改相應的 Go 類型以匹配預期輸出的結構。
var data = struct{ Basket []Fruit }{Basket: fruits}
dat, err := json.MarshalIndent(&data, "", " ")
https://play.golang.org/p/7g9HDZ38XxU
或者,更改現有Basket類型以匹配 JSON 并使用它:
type Basket struct {
Basket []Fruit
}
...
dat, err := json.MarshalIndent(&Basket{Basket:fruit}, "", " ")

TA貢獻1811條經驗 獲得超6個贊
在您的 printJSON 函數中,您只是打印出籃子里的水果幻燈片。創建和打印籃子結構并向字段籃子添加 JSON 標記可實現您想要的:
https://play.golang.org/p/aJcbP97CDGt
type Basket struct {
Fruits []Fruit `json:"Basket"`
}
// Prints the output in JSON format.
func printJSON() {
dat, err := json.MarshalIndent(Basket{fruits}, "", " ")
if err != nil {
fmt.Println(err)
}
fmt.Println("This is printJSON().")
fmt.Println(string(dat))
}
- 2 回答
- 0 關注
- 200 瀏覽
添加回答
舉報