From b86fae041baff7a7077c67060bc4282d78a2118b Mon Sep 17 00:00:00 2001 From: tbunyk Date: Tue, 5 Sep 2017 19:01:16 +0300 Subject: [PATCH] encoding/json: update documentation for MarshalIndent Make arguments semantics clear without the need to look for json.Indent documentation. Change-Id: If9adfe9f477a30d426ae83790b0f2578c0a809b7 Reviewed-on: https://go-review.googlesource.com/61670 Run-TryBot: Ian Lance Taylor TryBot-Result: Gobot Gobot Reviewed-by: Ian Lance Taylor --- src/encoding/json/encode.go | 2 ++ src/encoding/json/example_test.go | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/src/encoding/json/encode.go b/src/encoding/json/encode.go index 141b23c6c6..9a2f841335 100644 --- a/src/encoding/json/encode.go +++ b/src/encoding/json/encode.go @@ -166,6 +166,8 @@ func Marshal(v interface{}) ([]byte, error) { } // MarshalIndent is like Marshal but applies Indent to format the output. +// Each JSON element in the output will begin on a new line beginning with prefix +// followed by one or more copies of indent according to the indentation nesting. func MarshalIndent(v interface{}, prefix, indent string) ([]byte, error) { b, err := Marshal(v) if err != nil { diff --git a/src/encoding/json/example_test.go b/src/encoding/json/example_test.go index 2bbc292c6d..39b3231850 100644 --- a/src/encoding/json/example_test.go +++ b/src/encoding/json/example_test.go @@ -273,3 +273,22 @@ func ExampleIndent() { // = } // =] } + +func ExampleMarshalIndent() { + data := map[string]int{ + "a": 1, + "b": 2, + } + + json, err := json.MarshalIndent(data, "", "") + if err != nil { + log.Fatal(err) + } + + fmt.Println(string(json)) + // Output: + // { + // "a": 1, + // "b": 2 + // } +}