Maison >développement back-end >Golang >Comment obtenir un Unmarshal JSON sensible à la casse dans Go ?
Démarshal JSON sensible à la casse dans Go
La fonction json.Unmarshal dans Go fournit un moyen de désérialiser les données JSON dans une structure. Par défaut, Unmarshal effectue une correspondance insensible à la casse entre les clés JSON et les noms ou balises des champs de structure. Cependant, il peut y avoir des cas où il est souhaitable d'avoir une correspondance sensible à la casse.
Problème
Supposons que vous receviez des données JSON avec des balises telles que "e" et " E". Vous souhaitez annuler le marshaling de l'objet avec la balise "e" et ignorer celui avec "E". Avec la correspondance par défaut insensible à la casse, Unmarshal acceptera les deux balises et annulera la structure en conséquence.
Solution
Malheureusement, la bibliothèque json standard ne prend actuellement pas en charge la casse. correspondance sensible pour Unmarshal. Selon la documentation officielle :
To unmarshal JSON into a struct, Unmarshal matches incoming object keys to the keys used by Marshal (either the struct field name or its tag), preferring an exact match but also accepting a case-insensitive match.
Par conséquent, il n'existe aucun moyen de désactiver la correspondance insensible à la casse à l'aide de la bibliothèque json standard.
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!