Heim >Backend-Entwicklung >Golang >Wie gehe ich mit JSON-Antworten mit dynamischen Schlüsseln in Go um?
Verarbeitung von JSON-Antworten mit dynamischen Schlüsseln in Golang
Wenn JSON-Antworten mit beliebigen Schlüsseln auftreten, kann es schwierig sein, eine entsprechende Struktur zu erstellen. Ein solches Beispiel ist die bereitgestellte JSON-Antwort, die verschachtelte Karten mit unterschiedlichen Schlüsseln für Bildgrößen enthält.
Um dieses Problem zu beheben, sollten Sie die Verwendung einer kartenbasierten Datenstruktur in Betracht ziehen. In Golang ist eine Karte eine Sammlung von Schlüssel-Wert-Paaren, wobei die Schlüssel Zeichenfolgen sind.
Lösung:
Definieren Sie eine Struktur zur Darstellung des äußeren „Items“-Schlüssels :
type Items struct { Name string `json:"name"` Images map[string][]ImageUrl `json:"image_urls"` }
Hier wird das Feld „image_urls“ als Karte deklariert, in der die Schlüssel Zeichenfolgen sind (die das Bild darstellen). Größen) und die Werte sind Slices von ImageUrl-Strukturen.
ImageUrl-Struktur:
type ImageUrl struct { Url string `json:"url"` Width, Height int `json:"width,height"` }
Diese Struktur stellt die einzelne Bild-URL und ihre Abmessungen dar.
Verwendung:
Zum Unmarshalieren des JSON in die Elemente strukturieren, verwenden:
var items Items json.Unmarshal(jsonData, &items)
Vorteile der Verwendung einer Karte:
Das obige ist der detaillierte Inhalt vonWie gehe ich mit JSON-Antworten mit dynamischen Schlüsseln in Go um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!