有誰知道在 Go 中漂亮打印 JSON 輸出的簡(jiǎn)單方法?我正在尋找的用途是json.Marshal從任何地方漂亮地打印結(jié)果和格式化一個(gè)充滿 JSON 的字符串,因此為了調(diào)試目的更容易閱讀。
3 回答

慕村9548890
TA貢獻(xiàn)1884條經(jīng)驗(yàn) 獲得超4個(gè)贊
通過漂亮的印刷,我假設(shè)你的意思是縮進(jìn),就像這樣
{
"data": 1234
}
而不是
{"data":1234}
最簡(jiǎn)單的方法是使用MarshalIndent
,它可以讓你通過indent
參數(shù)指定你希望它如何縮進(jìn)。因此,json.MarshalIndent(data, "", " ")
將使用四個(gè)空格進(jìn)行縮進(jìn)進(jìn)行漂亮打印。

料青山看我應(yīng)如是
TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊
為了更好地使用內(nèi)存,我想這更好:
var out io.Writer
enc := json.NewEncoder(out)
enc.SetIndent("", " ")
if err := enc.Encode(data); err != nil {
panic(err)
}
- 3 回答
- 0 關(guān)注
- 329 瀏覽
添加回答
舉報(bào)
0/150
提交
取消