Maison > développement back-end > Golang > Comment puis-je générer une sortie JSON lisible par l'homme dans Go ?

Comment puis-je générer une sortie JSON lisible par l'homme dans Go ?

Susan Sarandon
Libérer: 2024-11-20 11:31:55
original
791 Les gens l'ont consulté

How Can I Generate Human-Readable JSON Output in Go?

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))
Copier après la connexion

Sortie :

{
  "id": "uuid1",
  "name": "John Smith"
}
Copier après la connexion
Copier après la connexion

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())
Copier après la connexion

Sortie :

{
  "id": "uuid1",
  "name": "John Smith"
}
Copier après la connexion
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal