Unmarshaling von Arrays und Strukturtypen
Beim Versuch, JSON-Daten in eine Struktur zu analysieren, ist es wichtig, die Kompatibilität zwischen der Datenstruktur und der Struktur sicherzustellen Zieltyp. Die folgende Fehlermeldung:
panic: json: cannot unmarshal array into Go value of type main.Structure
zeigt an, dass die Anwendung versucht, ein Array von JSON in eine Struktur zu entmarshalieren, die einen anderen Typ erwartet.
Um dieses Problem zu beheben, ziehen Sie die folgenden Lösungen in Betracht :
Wenn es sich bei den JSON-Daten um ein Array von Objekten handelt, entpacken Sie sie je nach Struktur Ihrer JSON-Daten in einen Slice der Schnittstelle{} oder einen Slice spezifischer Strukturen:
var data []interface{} err = json.Unmarshal(body, &data) // Unmarshal to specific structs: type Tick struct { ID string Name string ... } var data []Tick err = json.Unmarshal(body, &data)
Wenn Sie die vorhandene Struktur beibehalten müssen, sollten Sie den Feldtyp ändern, um ein Array zu akzeptieren:
type Structure struct { stuff [][]interface{} // Change to a slice of slices }
Das obige ist der detaillierte Inhalt vonWarum tritt „json: Array kann nicht in Go-Wert vom Typ main.Structure entmarshaliert werden' auf und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!