Maison > développement back-end > Golang > Comment rendre la sortie JSON lisible par l'homme dans Go ?

Comment rendre la sortie JSON lisible par l'homme dans Go ?

DDD
Libérer: 2024-11-20 18:14:15
original
671 Les gens l'ont consulté

How to Make JSON Output Human-Readable in Go?

Comment générer une sortie JSON lisible par l'homme dans Go à l'aide d'encoding/json

Lors de la sortie JSON dans un programme Go (appelé "foo"), cela peut être bénéfique pour rendre les résultats lisibles par l’homme pour une meilleure interprétabilité. Bien qu'il soit courant d'utiliser l'outil de ligne de commande jq à cette fin en redirigeant la sortie, cet article présente une solution alternative utilisant le package encoding/json intégré de Go.

Le package encoding/json fournit une prise en charge native pour générer du JSON indenté sans avoir besoin d’outils externes. En utilisant la fonction json.MarshalIndent() ou en appelant json.Encoder.SetIndent() (disponible depuis Go 1.7), vous pouvez obtenir le résultat souhaité.

Par exemple, pour indenter une carte en JSON lisible :

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

Vous pouvez également utiliser json.Encoder avec SetIndent() :

enc := json.NewEncoder(os.Stdout)
enc.SetIndent("", "  ")
if err := enc.Encode(m); err != nil {
    panic(err)
}
Copier après la connexion

Vous pouvez également formater des chaînes JSON existantes à l'aide de 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

Les paramètres de préfixe et d'indentation dans ces fonctions déterminent le style d'indentation. Le préfixe précède chaque nouvelle ligne, tandis que l'indentation est répétée pour chaque niveau d'imbrication.

En tirant parti de ces méthodes, vous pouvez facilement produire du JSON lisible par l'homme dans Go sans avoir besoin d'outils ou de dépendances supplémentaires, améliorant ainsi la lisibilité et convivialité de votre sortie JSON.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal