1. ホーム

[解決済み】Goを使ってJSONをpretty-printするにはどうすればいいですか?

2022-04-03 20:39:37

質問

Go で JSON 出力を pretty-print する簡単な方法をご存知の方はいらっしゃいますか?

<ストライク 在庫の http://golang.org/pkg/encoding/json/ パッケージには、このための機能は含まれていないようです。 (編集: 受け入れられた回答を参照)また、ググっても明らかなものは出てきません。

私が探している用途は、以下の両方の結果をプリティプリントすることです。 json.Marshal と、JSONでいっぱいの文字列をどこからでもフォーマットして、デバッグのために読みやすくします。

解決するには?

pretty-printというのは、インデント(字下げ)のことですね。

{
    "data": 1234
}

よりも

{"data":1234}

これを行う最も簡単な方法は MarshalIndent でインデントを指定することができます。 indent 引数で指定します。このように json.MarshalIndent(data, "", " ") は、空白 4 文字のインデントを使用してプリティプリントされます。