Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich in Go eine für Menschen lesbare JSON-Ausgabe generieren?

Wie kann ich in Go eine für Menschen lesbare JSON-Ausgabe generieren?

Susan Sarandon
Susan SarandonOriginal
2024-11-20 11:31:55713Durchsuche

How Can I Generate Human-Readable JSON Output in Go?

Von Menschen lesbare JSON-Ausgabe in Go

In Go ist es möglich, von Menschen lesbare JSON-Ausgabe zu generieren, ohne dass ein externer JQ erforderlich ist Verpackung. Das Paket „encoding/json“ bietet integrierte Funktionen zum Verschönern der JSON-Ausgabe.

Verwenden von json.MarshalIndent() oder json.Encoder.SetIndent()

Der JSON. Die Funktion MarshalIndent() formatiert einen Go-Wert als JSON-Zeichenfolge und rückt ihn entsprechend dem angegebenen Präfix und Einzug ein Zeichen.

Um beispielsweise eine Karte als JSON zu formatieren:

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"
}

Sie können auch json.Encoder.SetIndent() verwenden Methode zum Einrücken der Ausgabe eines Encoders.

Verwenden json.Indent()

Wenn Sie eine JSON-Zeichenfolge haben, die Sie formatieren möchten, können Sie die Funktion json.Indent() verwenden:

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"
}

Anpassen der Einrückung

Die Einrückungszeichen können angepasst werden basierend auf Ihren Vorlieben. Standardmäßig ist das Präfix eine leere Zeichenfolge und der Einzug ein einzelnes Leerzeichen. Sie können diese Standardeinstellungen überschreiben, um eine JSON-Ausgabe mit dem gewünschten Einrückungsstil zu erstellen.

Das obige ist der detaillierte Inhalt vonWie kann ich in Go eine für Menschen lesbare JSON-Ausgabe generieren?. 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