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!