亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何讓golang打印出JSON中的所有字段?

如何讓golang打印出JSON中的所有字段?

Go
慕妹3146593 2023-06-12 12:52:00
我仍在學習 Go(來自 Python)并且我正在嘗試在 AWS 中自動執行任務。我在工作中有這個要求,我需要將 JSON 輸出寫入一個文件,但我正在努力如何打印我的結構中的所有字段。我錯過了這個Basket領域。我希望它像這樣打?。簕  "Basket": [    {      "Name": "Apple",      "Color": "Red"    },    {      "Name": "Banana",      "Color": "Yellow"    }  ]}但我只得到這個:[  {    "Name": "Apple",    "Color": "Red"  },  {    "Name": "Banana",    "Color": "Yellow"  }]您可以在Go Playground中找到我的代碼。
查看完整描述

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}, "", "  ")


查看完整回答
反對 回復 2023-06-12
?
楊魅力

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

}


查看完整回答
反對 回復 2023-06-12
  • 2 回答
  • 0 關注
  • 200 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號