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

Susan Sarandon
Freigeben: 2024-11-20 11:31:55
Original
710 Leute haben es durchsucht

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

Ausgabe:

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

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

Ausgabe:

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

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!

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