首頁 > 後端開發 > Golang > 主體

如何在 Go 中產生人類可讀的 JSON 輸出?

Susan Sarandon
發布: 2024-11-20 11:31:55
原創
710 人瀏覽過

How Can I Generate Human-Readable JSON Output in Go?

Go 中人類可讀的JSON 輸出

在Go 中,無需外部jq 就可以產生人類可讀的JSON 輸出包裝紙。 encoding/json 套件提供了用於美化 JSON 輸出的內建函數。

使用json.MarshalIndent() 或json.Encoder.SetIndent()

json. MarshalIndent() 函數將Go 值格式化為JSON 字串,並根據字串指定的前綴和縮排進行縮排

例如,要將地圖格式化為JSON:

m := map[string]interface{}{"id": "uuid1", "name": "John Smith"}

data, err := json.MarshalIndent(m, "", "  ")
if err != nil {
    panic(err)
}
fmt.Println(string(data))
登入後複製

輸出:

{
  "id": "uuid1",
  "name": "John Smith"
}
登入後複製
登入後複製

您也可以使用 json.Encoder.SetIndent()縮排編碼器輸出的方法。

使用json.Indent()

如果您有要格式化的JSON 字串,可以使用json.Indent() 函數:

src := `{"id":"uuid1","name":"John Smith"}`

dst := &bytes.Buffer{}
if err := json.Indent(dst, []byte(src), "", "  "); err != nil {
    panic(err)
}
fmt.Println(dst.String())
登入後複製

輸出:

{
  "id": "uuid1",
  "name": "John Smith"
}
登入後複製
登入後複製

自訂縮排

縮排字元可以根據您的喜好自訂。預設情況下,前綴為空字串,縮排為單一空格。您可以覆寫這些預設值以建立具有所需縮排樣式的 JSON 輸出。

以上是如何在 Go 中產生人類可讀的 JSON 輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板