Wie kann man in Golang ein anonymes Array verwenden, um JSON-Daten zu deserialisieren? Dies ist ein Problem, auf das viele Entwickler häufig stoßen. Anonyme Arrays können einige einfache Datenstrukturen problemlos verarbeiten, ohne bestimmte Strukturen zu definieren. Durch die Verwendung des integrierten JSON-Pakets von Golang können wir diese Funktionalität einfach implementieren. Im Folgenden stellt Ihnen der PHP-Editor Xinyi ausführlich vor, wie Sie anonyme Arrays zum Deserialisieren von JSON-Daten in Golang verwenden. Lass uns einen Blick darauf werfen!
Ich erhalte diesen JSON von einem externen Server:
[["010117", "070117", "080117"], ["080117", "140117", "150117"], ["150117", "210117", "220117"]]
Ich muss es analysieren
package main import ( "encoding/json" "fmt" "io" "os" "runtime" ) type Range struct { From string To string Do string } type AllRanges struct { Ranges []Range } func main() { var ranges AllRanges j, err := os.ReadFile(file) if err != nil { panic("Can't read json file") } if json.Unmarshal(j, &v) != nil { panic("Error reading the json") } }
Beim Ausführen wird eine Panik ausgelöst, die besagt, dass beim Lesen von JSON ein Fehler aufgetreten ist
Vielen Dank im Voraus!
Dies ist kein fehlerhafter Code. Der von Ihnen gepostete Code lässt sich nicht kompilieren, da versucht wird, ihn in eine nicht deklarierte Variable zu demarshalieren v
.
Angenommen, v
应该是ranges
sollte
ranges
的类型为 allranges
,它是一个具有命名成员的结构体,ranges
Beim Versuch, JSON in diese Struktur zu entmarshalieren, erwartet der Unmarshaler Folgendes:
{ "ranges": [ { "from": "..", "to": .., "do": ".." }, { etc } ] }
ranges
Um Daten aus einem anonymen Array von String-Arrays zu entmarshalieren, müssen Sie als Array von String-Arrays deklarieren:
var ranges [][]string ... if json.Unmarshal(j, &ranges) != nil { panic("Error reading the json") }
Dieser Spielplatz[][]string
zeigt, wie man Beispieldaten erfolgreich in
Das obige ist der detaillierte Inhalt vonWie deserialisiere ich JSON mit einem anonymen Array in Golang?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!