doudou8893 2016-07-05 01:19
浏览 46
已采纳

如何用方括号漂亮地打印JSON?

I am able to nicely indent my JSON with the below code, it prints something like first output. But I would like the output to be enclosed with an array and to be properly indented, like in the second output.

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

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

Like so.

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

        ]
    }
]
  • 写回答

1条回答 默认 最新

  • drcrc28428 2016-07-05 01:26
    关注

    Just wrap your variable x in a single element slice. The slice gets encoded to a JSON array (which use the square brackets):

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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 如何绘制动力学系统的相图