JSON-Array kann nicht in Go-Struktur entmarshaliert werden
Beim Versuch, Daten aus einer JSON-API zu analysieren, ist ein Programmierer auf den Fehler gestoßen: „ Panik: JSON: Das Array kann nicht in den Go-Wert des Typs entmarshaliert werden main.Structure."
Problemauszug:
type Structure struct { stuff []interface{} } ... decoded := &Structure{} err = json.Unmarshal(body, decoded)
Erwartetes Ergebnis:
Eine Liste von Schnittstellenobjekten.
Tatsächlich Ergebnis:
Panik: JSON: Das Array kann nicht in den Go-Wert vom Typ main.Structure entmarshaliert werden
Lösung:
Das Problem tritt auf, wenn Ich versuche, ein JSON-Array in eine Go-Struktur zu entmarshalieren. Um dieses Problem zu lösen, kann man entweder:
var data []interface{} err = json.Unmarshal(body, &data)
type Tick struct { ID string Name string ... and so on } var data []Tick err = json.Unmarshal(body, &data)
Durch Anpassen der Wenn Sie den Strukturtyp an die Struktur der Antwortdaten anpassen, wird der Unmarshaling-Prozess das JSON-Array erfolgreich analysieren.
Das obige ist der detaillierte Inhalt vonWarum schlägt JSON Unmarshal beim Zuordnen von Arrays zu Go-Strukturen fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!