Dynamische JSON-Zuordnung in Go mithilfe von Karten
In Go kann die Zuordnung dynamischer JSON-Antworten mit unvorhersehbaren Schlüsseln eine Herausforderung sein. Die Verwendung von Karten bietet jedoch eine flexible Lösung.
Betrachten Sie die folgende JSON-Antwort, bei der die Schlüssel variieren:
{ "items": [ {"name": "thing", "image_urls": { "50x100": [{ "url": "http://site.com/images/1/50x100.jpg", "width": 50, "height": 100 }, { "url": "http://site.com/images/2/50x100.jpg", "width": 50, "height": 100 }], "200x300": [{ "url": "http://site.com/images/1/200x300.jpg", "width": 200, "height": 300 }], "400x520": [{ "url": "http://site.com/images/1/400x520.jpg", "width": 400, "height": 520 }] } } ] }
Um diese dynamische Natur zu erfassen, erstellen Sie eine kartenbasierte Struktur. Karten in Go ermöglichen beliebige Schlüssel und Werte und sind daher ideal für dieses Szenario.
type Items map[string][]ImageURL
Hier ist die Items-Struktur eine Karte mit Zeichenfolgenschlüsseln (die die unterschiedlichen JSON-Schlüssel darstellen) und Werten vom Typ [] ImageURL.
Um diese Struktur zu verwenden, definieren Sie eine ImageURL-Struktur für einzelne Bildeinträge:
type ImageURL struct { URL string Width int Height int }
Jetzt können Sie Entpacken Sie die JSON-Antwort direkt in eine Items-Struktur:
err := json.Unmarshal(data, &items) if err != nil { // Handle error }
Dieser Ansatz bietet eine flexible Zuordnung für dynamische JSON-Antworten, sodass Sie die Daten erfassen können, ohne alle möglichen Schlüssel vordefinieren zu müssen.
Das obige ist der detaillierte Inhalt vonWie kann ich dynamische JSON-Antworten mit unvorhersehbaren Schlüsseln in Go effizient verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!