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
Mary-Kate Olsenoriginal
2024-12-07 02:28:10398parcourir

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"`
}

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!

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