Heim > Backend-Entwicklung > Golang > Wie definiere ich mehrere JSON- und BSON-Tags in einer Go-Struktur?

Wie definiere ich mehrere JSON- und BSON-Tags in einer Go-Struktur?

Mary-Kate Olsen
Freigeben: 2024-12-07 02:28:10
Original
393 Leute haben es durchsucht

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

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"`
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage