Maison > développement back-end > Golang > Comment définir plusieurs balises JSON et BSON dans une structure Go ?

Comment définir plusieurs balises JSON et BSON dans une structure Go ?

Mary-Kate Olsen
Libérer: 2024-12-07 02:28:10
original
401 Les gens l'ont consulté

How to Define Multiple JSON and BSON Tags in a Go Struct?

Définition de plusieurs balises de champ dans une structure Go

Pour récupérer des données d'une base de données MongoDB et les encoder pour JSON, vous devez définir un struct avec les balises appropriées pour la sérialisation MongoDB et JSON. Cependant, vous rencontrez un problème où vos champs codés JSON s'affichent en majuscules au lieu des minuscules souhaitées. Pour résoudre ce problème, vous souhaitez définir plusieurs balises de nom dans la chaîne de balise d'un champ.

La solution à ce défi consiste à utiliser l'espace comme séparateur de chaîne de balise au lieu des virgules. Le code mis à jour suivant illustre cette approche :

type Page struct {
    PageId string                 `bson:"pageId" json:"pageId"`
    Meta   map[string]interface{} `bson:"meta" json:"meta"`
}
Copier après la connexion

Selon la documentation du package Go Reflect, les chaînes de balises suivent une convention spécifique :

"Par convention, les chaînes de balises sont une concaténation d'espaces éventuellement -clé séparée : paires "valeur"."

Adhérer à cette convention vous permet de définir plusieurs balises de nom pour chaque champ au sein d'une seule chaîne de balises. L'ordre des balises de nom n'a pas d'importance et les valeurs doivent être citées à l'aide du caractère ".

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal