Sortie JSON lisible par l'homme dans Go
Dans Go, il est possible de générer une sortie JSON lisible par l'homme sans avoir besoin d'un jq externe emballage. Le package encoding/json fournit des fonctions intégrées pour embellir la sortie JSON.
Utilisation de json.MarshalIndent() ou json.Encoder.SetIndent()
Le json. La fonction MarshalIndent() formate une valeur Go sous forme de chaîne JSON et la met en retrait en fonction du préfixe et du retrait spécifiés. caractères.
Par exemple, pour formater une carte au format JSON :
m := map[string]interface{}{"id": "uuid1", "name": "John Smith"} data, err := json.MarshalIndent(m, "", " ") if err != nil { panic(err) } fmt.Println(string(data))
Sortie :
{ "id": "uuid1", "name": "John Smith" }
Vous pouvez également utiliser json.Encoder.SetIndent() méthode pour indenter la sortie d'un encodeur.
Utilisation json.Indent()
Si vous avez une chaîne JSON que vous souhaitez formater, vous pouvez utiliser la fonction json.Indent() :
src := `{"id":"uuid1","name":"John Smith"}` dst := &bytes.Buffer{} if err := json.Indent(dst, []byte(src), "", " "); err != nil { panic(err) } fmt.Println(dst.String())
Sortie :
{ "id": "uuid1", "name": "John Smith" }
Personnalisation de l'indentation
Les caractères d'indentation peuvent être personnalisés en fonction de votre préférence. Par défaut, le préfixe est une chaîne vide et le retrait est un espace simple. Vous pouvez remplacer ces valeurs par défaut pour créer une sortie JSON avec le style d'indentation souhaité.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!