Maison >développement back-end >Golang >Comment gérer les clés JSON avec des espaces dans Go ?

Comment gérer les clés JSON avec des espaces dans Go ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-19 00:54:10423parcourir

How to Handle JSON Keys with Spaces in Go?

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!

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