質問:
オープンソースの Jq ラッパーはありますかGo では、機械可読な JSON 出力を人間が読める形式に変換できます。 format?
答え:
はい、Go のエンコーディング/json パッケージは、JSON 出力のフォーマットをサポートする組み込みサポートを提供します。
解決策:
次のコードは、使用方法を示しています。 json.MarshalIndent() を使用してインデントされた JSON 出力を作成します:
import ( "encoding/json" "fmt" ) func main() { m := map[string]interface{}{"id": "uuid1", "name": "John Smith"} data, err := json.MarshalIndent(m, "", " ") if err != nil { panic(err) } fmt.Println(string(data)) }
出力:
{ "id": "uuid1", "name": "John Smith" }
既存の JSON 文字列がある場合は、json を使用できます。 Indent() でフォーマットするit:
import "encoding/json" func main() { src := `{"id":"uuid1","name":"John Smith"}` dst := &bytes.Buffer{} if err := json.Indent(dst, []byte(src), "", " "); err != nil { panic(err) } fmt.Println(dst.String()) }
出力:
{ "id": "uuid1", "name": "John Smith" }
カスタマイズ:
プレフィックスを使用してインデントをカスタマイズできますインデント関数のインデントパラメータ。例:
data, err := json.MarshalIndent(m, "+", "-") if err != nil { panic(err) }
出力:
{ +--"id": "uuid1", +--"name": "John Smith" +}
以上がGo の「encoding/json」パッケージは、人間が読みやすいように JSON 出力をフォーマットする方法を提供しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。