Heim >Backend-Entwicklung >Golang >Wie drucke ich die JSON-Ausgabe in Go mithilfe integrierter Funktionen hübsch aus?

Wie drucke ich die JSON-Ausgabe in Go mithilfe integrierter Funktionen hübsch aus?

Linda Hamilton
Linda HamiltonOriginal
2024-11-22 04:54:11663Durchsuche

How to Pretty Print JSON Output in Go Using Built-in Functions?

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:

  • Präfix: Die Zeichenfolge, die vor jeder Zeile hinzugefügt werden soll
  • Einzug: Die Zeichenfolge, die nach jeder Einrückungsebene hinzugefügt werden soll

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn