Maison >développement back-end >Golang >Comment puis-je réussir à désorganiser les données JSON avec des espaces dans les clés à l'aide de « encoding/json » de Go ?

Comment puis-je réussir à désorganiser les données JSON avec des espaces dans les clés à l'aide de « encoding/json » de Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-23 22:50:12842parcourir

How Can I Successfully Unmarshal JSON Data with Spaces in Keys Using Go's `encoding/json`?

Espaces dans les clés JSON : surmonter l'obstacle du démarshaling

Le démarshaling des données JSON avec des clés contenant des espaces peut poser un défi pour l'encodage/json standard bibliothèque dans Go. Par défaut, la bibliothèque essaiera de faire correspondre les clés JSON aux noms de champs sans espaces. Dans le code fourni :

type Animal struct {
    Name  string `json:"Na me"`
    Order string `json:"Order,omitempty"`
}

La clé Nom dans les données JSON est en conflit avec ce modèle. Cette erreur peut être corrigée en modifiant les balises json pour refléter avec précision les clés JSON :

type Animal struct {
    Name  string `json:"Na me"` // Corrected the space after the colon
    Order string `json:"Order,omitempty"`
}

Comme l'indique la documentation pour l'encodage/json, les espaces ne sont pas autorisés dans les balises json après les deux points. En suivant ces conseils, le processus de démarshalage sera en mesure d'identifier et de mapper correctement les clés JSON aux champs correspondants dans la structure Animal. L'exécution du code corrigé donnera le résultat attendu :

[{Name:Platypus Order:Monotremata} {Name:Quoll Order:Dasyuromorphia}]

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!

Déclaration:
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