Maison > Article > développement back-end > Le package « encoding/json » de Go offre-t-il un moyen de formater la sortie JSON pour une lisibilité humaine ?
Question :
Existe-t-il un wrapper Jq open source pour Go qui peut convertir une sortie JSON lisible par machine en format lisible par l'homme ?
Réponse :
Oui, le package encoding/json dans Go fournit une prise en charge intégrée pour formater la sortie JSON.
Solution :
Le code suivant montre comment utiliser json.MarshalIndent() pour créer une sortie JSON indentée :
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)) }
Sortie :
{ "id": "uuid1", "name": "John Smith" }
Si vous avez une chaîne JSON existante, vous pouvez utiliser json.Indent() pour la formater :
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()) }
Sortie :
{ "id": "uuid1", "name": "John Smith" }
Personnalisation :
Vous pouvez personnaliser l'indentation à l'aide des paramètres de préfixe et d'indentation des fonctions d'indentation. Par exemple :
data, err := json.MarshalIndent(m, "+", "-") if err != nil { panic(err) }
Sortie :
{ +--"id": "uuid1", +--"name": "John Smith" +}
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!