Heim > Backend-Entwicklung > Golang > Wie konvertiere ich eine Go-Struktur mit JSON-Tags als Schlüssel in eine Karte?

Wie konvertiere ich eine Go-Struktur mit JSON-Tags als Schlüssel in eine Karte?

Linda Hamilton
Freigeben: 2024-12-09 20:54:15
Original
238 Leute haben es durchsucht

How to Convert a Go Struct to a Map Using JSON Tags as Keys?

Konvertieren einer Struktur in eine Karte in Golang mit JSON-Schlüsseln

Diese Frage sucht nach einer Methode zum Konvertieren einer Golang-Struktur in eine Karte, wobei JSON-Tags als Schlüssel in der resultierenden Karte beibehalten werden . Die Antworten wurden zunächst mit dem Reflect-Paket untersucht.

Eine alternative Lösung bietet das structs-Paket (https://github.com/fatih/structs), das umfassende Funktionen für die Arbeit mit Strukturen bietet:

  • ConvertToMap: Konvertiert eine Struktur in eine Karte
  • ExtractFields: Erhält einen Ausschnitt von Feldnamen aus einer Struktur
  • ExtractValues: Extrahiert einen Ausschnitt von Feldwerten aus einer Struktur
  • IsStruct: Prüft, ob eine bereitgestellte Schnittstelle eine ist Struktur oder ein Zeiger auf eine Struktur
  • IsInitialized: Überprüft, ob eine Struktur initialisiert ist

Das Strukturpaket unterstützt anonyme Felder und verschachtelte Strukturen und ermöglicht das Filtern spezifische Felder mithilfe von Feld-Tags. Zum Beispiel:

type Server struct {
    Name    string  `json:"server_name"`
    ID      int32   `json:"server_id"`
    Enabled bool     `json:"is_enabled"`
}

s := &Server{
    Name:    "gopher",
    ID:      123456,
    Enabled: true,
}

// {"server_name": "gopher", "server_id": 123456, "is_enabled": true}
m := structs.Map(s)
Nach dem Login kopieren

In diesem Beispiel werden die JSON-Tags als Kartenschlüssel verwendet, wodurch eine JSON-kompatible Kartendarstellung der Struktur erstellt wird. Das structs-Paket bietet ein vielseitiges Tool zum Verwalten von Strukturen und deren Konvertierung in Karten, um die ursprüngliche Anfrage effektiv zu bearbeiten.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich eine Go-Struktur mit JSON-Tags als Schlüssel in eine Karte?. 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