Désérialisation de JSON avec des noms de clés contenant des espaces
Dans le processus de désérialisation JSON, vous pouvez rencontrer des difficultés lorsque vous traitez des données JSON qui incluent des noms de clés avec des espaces. Ce problème survient lors de l’utilisation de la bibliothèque d’encodage/json standard dans Go. La bibliothèque a du mal à interpréter les clés avec des espaces lorsqu'elle tente de mapper les champs JSON aux champs struct.
Pour résoudre ce problème, assurez-vous que la spécification de la balise JSON est correcte. La balise json mappe les noms de champs JSON aux noms de champs de structure. Lorsqu'un caractère espace apparaît dans la spécification de la balise JSON après les deux-points mais avant le guillemet, la bibliothèque ne parvient pas à mapper correctement le champ JSON au champ struct.
Considérez l'exemple de code suivant :
type Animal struct { Name string `json:"Na me"` Order string `json:"Order,omitempty"` }
Dans cet exemple, la balise JSON du champ "Nom" est incorrectement spécifiée avec un espace après les deux-points. Pour résoudre le problème, supprimez l'espace et spécifiez la balise comme suit :
type Animal struct { Name string `json:"Name"` Order string `json:"Order,omitempty"` }
Avec cette modification, la bibliothèque JSON peut mapper avec succès les noms de champs JSON aux noms de champs de structure, même si les noms de champs contiennent espaces. Cela garantit que les champs de structure sont correctement remplis avec les valeurs des données 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!