Bietet das „encoding/json'-Paket von Go eine Möglichkeit, die JSON-Ausgabe für die menschliche Lesbarkeit zu formatieren?

Mary-Kate Olsen
Freigeben: 2024-11-19 04:13:03
Original
252 Leute haben es durchsucht

Does Go's `encoding/json` Package Offer a Way to Format JSON Output for Human Readability?

Jq-Wrapper für menschenlesbare JSON-Ausgabe in Go

Frage:

Gibt es einen Open-Source-JQ-Wrapper? für Go, das maschinenlesbare JSON-Ausgaben in ein für Menschen lesbares Format konvertieren kann?

Antwort:

Ja, das Encoding/JSON-Paket in Go bietet integrierte Unterstützung zum Formatieren der JSON-Ausgabe.

Lösung:

Der folgende Code zeigt, wie mit json.MarshalIndent() eine eingerückte JSON-Ausgabe erstellt wird:

import (
    "encoding/json"
    "fmt"
)

func main() {
    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

Wenn Sie über eine vorhandene JSON-Zeichenfolge verfügen, können Sie diese mit json.Indent() formatieren:

import "encoding/json"

func main() {
    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

Anpassung:

Sie können die Einrückung mithilfe der Präfix- und Einrückungsparameter der Einrückungsfunktionen anpassen. Zum Beispiel:

data, err := json.MarshalIndent(m, "+", "-")
if err != nil {
    panic(err)
}
Nach dem Login kopieren

Ausgabe:

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

Das obige ist der detaillierte Inhalt vonBietet das „encoding/json'-Paket von Go eine Möglichkeit, die JSON-Ausgabe für die menschliche Lesbarkeit zu formatieren?. 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