Schönes Drucken von JSON-Ausgaben in Go mit integrierten Funktionen
Beim Umgang mit JSON-Ausgaben in Go-Programmen ist es oft wünschenswert, diese zu erstellen für Menschen lesbar. Während jq für diesen Zweck verwendet werden kann, gibt es auch integrierte Funktionen innerhalb der Go-Standardbibliothek, die das gewünschte Ergebnis erzielen können.
Json Marshal Indenting
The Das Paket „encoding/json“ stellt die Funktion „json.MarshalIndent()“ zum hübschen Drucken der JSON-Ausgabe bereit. Es sind zwei zusätzliche Parameter erforderlich:
Durch die Übergabe einer leeren Zeichenfolge als Präfix und eines Leerzeichens als Einzug erhalten Sie für Menschen lesbares JSON Ausgabe:
m := map[string]interface{}{"id": "uuid1", "name": "John Smith"} data, err := json.MarshalIndent(m, "", " ") if err != nil { panic(err) } fmt.Println(string(data))
Ausgabe:
{ "id": "uuid1", "name": "John Smith" } { "id": "uuid1", "name": "John Smith" }
Sie können auch die Methode json.Encoder.SetIndent() verwenden, um die Einrückungsparameter festzulegen, wenn Sie einen Encoder verwenden:
enc := json.NewEncoder(os.Stdout) enc.SetIndent("", " ") if err := enc.Encode(m); err != nil { panic(err) }
Json-Einrückung
Wenn Sie bereits ein JSON haben Zeichenfolge können Sie die Funktion json.Indent() verwenden, um sie zu formatieren:
src := `{"id":"uuid1","name":"John Smith"}` dst := &bytes.Buffer{} if err := json.Indent(dst, []byte(src), "", " "); err != nil { panic(err) } fmt.Println(dst.String())
Ausgabe:
{ "id": "uuid1", "name": "John Smith" }
Das obige ist der detaillierte Inhalt vonWie drucke ich die JSON-Ausgabe in Go mithilfe integrierter Funktionen hübsch aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!