如何用括号打印JSON?

时间:2016-07-05 01:19:01

标签: json go

我可以使用下面的代码很好地缩进我的JSON,它打印出类似于第一个输出的东西。但我希望输出用数组括起来并正确缩进,就像在第二个输出中一样。

j, err := json.MarshalIndent(x, "", "  ")
if err != nil {
    fmt.Println(err)
} else {
    fmt.Println(string(j))
}

{
    "A" : "x",
    "B" : "y",
    "C" : [
        { 
            "A" ...
        }
    ]
}

喜欢这样。

[
    {
        "A" : "x",
        "B" : "y",
        "C" : [
           { 
              "A" ...
           }

        ]
    }
]

1 个答案:

答案 0 :(得分:1)

将变量x包装在单个元素切片中。切片被编码为JSON数组(使用方括号):

j, err := json.MarshalIndent([]interface{}{x}, "", "  ")

https://play.golang.org/p/Q9kqTdwoO6