json - 在 Go 中使用缩进格式化 JSON

标签 json go

<分区>

在我做完之后

    json, err := json.Marshal(buf)

我得到类似的东西:

{"a":123,"b":"abc"}

但我想要的是缩进版本:

{
    "a": 123,
    "b": "abc"
}

如何?

最佳答案

使用json.MarshalIndent(group, "", "\t"),试试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)
}

输出:

{
    "ID": 1,
    "Name": "Reds",
    "Colors": [
        "Crimson",
        "Red",
        "Ruby",
        "Maroon"
    ]
}

关于json - 在 Go 中使用缩进格式化 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45902847/

相关文章:

android - 如何测试 native 应用程序安装横幅是否有效

python - 使用 JSON 和字典在 Python 中处理错误

json - 如何将 ServiceStack POCO 的默认数据类型从文本更改为 json?

php - Go 与 PHP json-rpc 通信

go - "go get google.golang.org/grpc"失败 : unrecognized import path

javascript - 在 javascript/jQuery 中动态更改元素的属性

javascript - 如何在MVC中将大量数据从AJAX发送到 Controller ?

Mysql查询以获取一对多关系并扫描到结构

go - Golang如何在静态服务中删除最后一个斜杠

Bash 脚本无法执行 Go 命令