我做完之后
json, err := json.Marshal(buf)
Run Code Online (Sandbox Code Playgroud)
我得到类似的东西:
{"a":123,"b":"abc"}
Run Code Online (Sandbox Code Playgroud)
但是我想要的是这样的缩进版本:
{
"a": 123,
"b": "abc"
}
Run Code Online (Sandbox Code Playgroud)
怎么样?
使用json.MarshalIndent(group, "", "\t"),试试这个:
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)
}
Run Code Online (Sandbox Code Playgroud)
输出:
{
"ID": 1,
"Name": "Reds",
"Colors": [
"Crimson",
"Red",
"Ruby",
"Maroon"
]
}
Run Code Online (Sandbox Code Playgroud)