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

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

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-19 04:13:03249Durchsuche

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

Ausgabe:

{
  "id": "uuid1",
  "name": "John Smith"
}

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())
}

Ausgabe:

{
  "id": "uuid1",
  "name": "John Smith"
}

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

Ausgabe:

{
+--"id": "uuid1",
+--"name": "John Smith"
+}

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!

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