Lorsque vous accédez aux données d'une base de données MongoDB et que vous les encodez ensuite en JSON, vous pouvez rencontrer un défi si vous le souhaitez pour utiliser des noms de champs différents pour chaque format. Par exemple, même si MongoDB peut exiger un champ nommé « pageId », vous préférerez peut-être l'encoder comme « pageId » en JSON.
Définition de balises multiples : une entreprise incomprise
Votre tentative initiale de définir plusieurs balises de nom pour une structure a abouti à un échec. Vous avez tenté d'utiliser des virgules comme séparateurs de chaînes de balises :
type Page struct { PageId string `bson:"pageId",json:"pageId"` Meta map[string]interface{} `bson:"meta",json:"pageId"` }
Cependant, cette approche est incorrecte.
La voie du succès : libérer la puissance de l'espace
Pour définir avec succès plusieurs balises de nom dans une structure, vous devez utiliser des espaces comme séparateurs de chaîne de balises. Voici comment procéder :
type Page struct { PageId string `bson:"pageId" json:"pageId"` Meta map[string]interface{} `bson:"meta" json:"meta"` }
Comprendre la justification
La documentation du package Reflect indique clairement que les chaînes de balises doivent être constituées de chaînes non vides avec paires clé-valeur. Chaque paire clé-valeur est séparée par un espace et les valeurs sont citées à l'aide de la syntaxe littérale de chaîne Go.
Each value is quoted using U+0022 '"' characters and Go string literal syntax.
En suivant cette convention, vous pouvez définir efficacement plusieurs balises de nom pour votre structure et obtenir l'encodage souhaité. comportement.
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!