Avatar ·

如何在Go中美化JSON:详细指南

你好!我是Go新手,正在做一个需要以可读形式输出JSON的项目。我有一个数据结构,使用`json.Marshal()`将其序列化为JSON,但输出结果是一行字符串,没有缩进和换行。这对调试和日志记录非常不方便。 这是我的代码: ```go package main import ( "encoding/json" "fmt" ) type User struct { Name string Age int Email string Address Address } type Address struct { City string Country string } func main() { user := User{ Name: "伊万·伊万诺夫", Age: 30, Email: "ivan@example.com", Address: Address{ City: "莫斯科", Country: "俄罗斯", }, } jsonData, err := json.Marshal(user) if err != nil { fmt.Println("错误:", err) return } fmt.Println(string(jsonData)) } ``` 结果:`{"Name":"伊万·伊万诺夫","Age":30,"Email":"ivan