Maison >développement back-end >Golang >Comment définir plusieurs balises dans Go Structs pour le marshaling MongoDB et JSON ?

Comment définir plusieurs balises dans Go Structs pour le marshaling MongoDB et JSON ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-14 14:54:15676parcourir

How to Define Multiple Tags in Go Structs for MongoDB and JSON Marshaling?

Définitions de balises multiples dans les structures

Lors de l'interrogation de MongoDB à l'aide d'une structure, on peut avoir besoin de plusieurs balises de nom pour encoder et décoder les données tout en respectant les conventions de la base de données (par exemple, "pageId" dans MongoDB) et le formatage souhaité en JSON ("pageId").

Dans le code fourni, qui tente de séparer les chaînes de balises à l'aide de virgules, est à l'origine du problème. L'approche correcte consiste à utiliser des espaces comme séparateurs.

type Page struct {
    PageId string                 `bson:"pageId" json:"pageId"`
    Meta   map[string]interface{} `bson:"meta" json:"meta"`
}

Comme indiqué dans la documentation du package Reflect :

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

Cela permet la définition de plusieurs balises de nom dans une structure, lui permettant de se conformer à différentes conventions de dénomination comme requis.

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