After I do
json, err := json.Marshal(buf)
I get something like:
{"a":123,"b":"abc"}
But what I want is an indented version of this:
{
"a": 123,
"b": "abc"
}
How?
After I do
json, err := json.Marshal(buf)
I get something like:
{"a":123,"b":"abc"}
But what I want is an indented version of this:
{
"a": 123,
"b": "abc"
}
How?
Use json.MarshalIndent(group, "", "\t")
, try this:
package main
import (
"encoding/json"
"fmt"
"os"
)
func main() {
type ColorGroup struct {
ID int
Name string
Colors []string
}
group := ColorGroup{
ID: 1,
Name: "Reds",
Colors: []string{"Crimson", "Red", "Ruby", "Maroon"},
}
b, err := json.MarshalIndent(group, "", "\t")
if err != nil {
fmt.Println("error:", err)
}
os.Stdout.Write(b)
}
output:
{
"ID": 1,
"Name": "Reds",
"Colors": [
"Crimson",
"Red",
"Ruby",
"Maroon"
]
}