2017-08-27 2 views
1

私はフォーマットJSON

json, err := json.Marshal(buf) 

は、私のようなものを取得実行した後:

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

をしかし、私が欲しいのはこれのインデントバージョンです:

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

方法?

+0

をあなたはそれがJSONフォーマッタ拡張子を使用し、その後Chromeブラウザでフォーマット見てみたいです。 – Rakib

+2

'MarshalIndent'を使用 –

+0

@Rakib no、コンソールに出力したい、またはファイルに保存したい – 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" 
    ] 
} 
関連する問題