Noms de clés JSON avec des espaces : la désérialisation rendue possible
La désérialisation de données JSON avec des clés complexes contenant des espaces peut souvent poser des problèmes lors de la désérialisation. Examinons un exemple spécifique utilisant la bibliothèque encoding/json dans Go.
Problème :
Considérez le schéma JSON suivant :
[ {"Na me": "Platypus", "Order": "Monotremata"}, {"Na me": "Quoll", "Order": "Dasyuromorphia"} ]
Utilisation la bibliothèque d'encodage/json standard pour désorganiser ces données dans le Go suivant struct :
type Animal struct { Name string `json:"Na me"` Order string `json:"Order,omitempty"` }
résulte dans un champ "Nom" vide en raison de l'espace dans la clé JSON.
Cause :
L'espace dans la clé JSON confond le processus de démarchage. La bibliothèque essaie de faire correspondre la clé "Na me" avec un champ dans la structure Animal, mais il n'y a pas de champ correspondant.
Solution :
Pour résoudre ce problème , assurez-vous que les balises struct field dans la balise json spécifient les noms de clés corrects, y compris les espaces :
type Animal struct { Name string `json:"Na me"` Order string `json:"Order,omitempty"` }
Avec ce balisage révisé, le démarshalling Le processus peut mapper avec succès les clés JSON aux champs de structure corrects, ce qui donne 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!