Mehrere Feld-Tags in einer Go-Struktur definieren
Um Daten aus einer MongoDB-Datenbank abzurufen und für JSON zu kodieren, müssen Sie eine definieren struct mit entsprechenden Tags für die MongoDB- und JSON-Serialisierung. Es tritt jedoch ein Problem auf, bei dem Ihre JSON-codierten Felder in Großbuchstaben statt in der gewünschten Kleinschreibung angezeigt werden. Um dieses Problem zu lösen, möchten Sie mehrere Namens-Tags innerhalb der Tag-Zeichenfolge eines Felds definieren.
Die Lösung für diese Herausforderung besteht darin, Leerzeichen anstelle von Kommas als Tag-Zeichenfolge-Trennzeichen zu verwenden. Der folgende aktualisierte Code demonstriert diesen Ansatz:
type Page struct { PageId string `bson:"pageId" json:"pageId"` Meta map[string]interface{} `bson:"meta" json:"meta"` }
Gemäß der Dokumentation des Go Reflect-Pakets folgen Tag-Strings einer bestimmten Konvention:
„Tag-Strings sind konventionsgemäß eine Verkettung von optionalem Leerzeichen.“ -getrennte Schlüssel:„Wert“-Paare.“
Durch die Einhaltung dieser Konvention können Sie mehrere Namens-Tags für jedes Feld innerhalb eines einzigen Tags definieren Zeichenfolge. Die Reihenfolge der Namens-Tags spielt keine Rolle und die Werte sollten mit dem Zeichen „“ in Anführungszeichen gesetzt werden.
Das obige ist der detaillierte Inhalt vonWie definiere ich mehrere JSON- und BSON-Tags in einer Go-Struktur?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!