2017-08-27 49 views
1

後,我做格式JSON在圍棋壓痕

json, err := json.Marshal(buf) 

我得到的是這樣的:

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

但我要的是這樣的一個縮進版本:

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

如何?

+0

你想看到它在Chrome瀏覽器的格式,然後使用JSON格式化擴展。 – Rakib

+2

使用'MarshalIndent' –

+0

@Rakib不,只是想打印它到控制檯或保存到文件 – exebook

回答

2

使用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" 
    ] 
}