Bei der Ausgabe von JSON in einem Go-Programm (bekannt als „foo“) kann dies von Vorteil sein um die Ergebnisse für eine bessere Interpretierbarkeit lesbar zu machen. Während es üblich ist, zu diesem Zweck das jq-Befehlszeilentool zu verwenden, indem die Ausgabe weitergeleitet wird, stellt dieser Artikel eine alternative Lösung unter Verwendung des integrierten Pakets „encoding/json“ von Go vor.
Das Paket „encoding/json“ bietet native Unterstützung für Generieren von eingerücktem JSON ohne die Notwendigkeit externer Tools. Durch die Verwendung der Funktion json.MarshalIndent() oder den Aufruf von json.Encoder.SetIndent() (verfügbar seit Go 1.7) können Sie das gewünschte Ergebnis erzielen.
Um beispielsweise eine Karte in lesbares JSON einzurücken:
m := map[string]interface{}{"id": "uuid1", "name": "John Smith"} data, err := json.MarshalIndent(m, "", " ") if err != nil { panic(err) } fmt.Println(string(data))
Alternativ können Sie json.Encoder mit verwenden SetIndent():
enc := json.NewEncoder(os.Stdout) enc.SetIndent("", " ") if err := enc.Encode(m); err != nil { panic(err) }
Sie können auch vorhandene JSON-Strings mit json.Indent() 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())
Die Präfix- und Einrückungsparameter in diesen Funktionen bestimmen den Einrückungsstil. Das Präfix steht vor jeder neuen Zeile, während der Einzug für jede Verschachtelungsebene wiederholt wird.
Durch die Nutzung dieser Methoden können Sie problemlos für Menschen lesbares JSON in Go erstellen, ohne dass zusätzliche Tools oder Abhängigkeiten erforderlich sind, wodurch die Lesbarkeit verbessert wird Benutzerfreundlichkeit Ihrer JSON-Ausgabe.
Das obige ist der detaillierte Inhalt vonWie mache ich die JSON-Ausgabe in Go für Menschen lesbar?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!