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

Linda Hamilton
Freigeben: 2024-11-22 04:54:11
Original
555 Leute haben es durchsucht

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))
Nach dem Login kopieren

Ausgabe:

{
  "id": "uuid1",
  "name": "John Smith"
}
{
  "id": "uuid1",
  "name": "John Smith"
}
Nach dem Login kopieren

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)
}
Nach dem Login kopieren

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())
Nach dem Login kopieren

Ausgabe:

{
  "id": "uuid1",
  "name": "John Smith"
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage