Heim >Backend-Entwicklung >Golang >Wie analysiere ich JSON-Arrays in Go mit dem „json'-Paket?
JSON-Arrays in Go mit dem JSON-Paket analysieren
Problem: Wie können Sie einen JSON-String analysieren, der ein darstellt Array in Go mit dem JSON-Paket?
Code Beispiel:
Betrachten Sie den folgenden Go-Code:
type JsonType struct { Array []string } func main() { dataJson := `["1", "2", "3"]` arr := JsonType{} unmarshaled := json.Unmarshal([]byte(dataJson), &arr.Array) log.Printf("Unmarshaled: %v", unmarshaled) }
Erklärung:
Der bereitgestellte Code definiert einen Typ JsonType mit einem Array von Saiten. Anschließend wird versucht, eine JSON-Zeichenfolge in das Array-Feld einer JsonType-Instanz zu entmarshalieren. Es gibt jedoch ein Problem mit dem Code.
Lösung:
Der Rückgabewert von Unmarshal ist ein Fehler. Der Code gab ursprünglich diesen Fehler anstelle des nicht gemarshallten Arrays aus. Um das Problem zu beheben, können Sie den Code wie folgt ändern:
err := json.Unmarshal([]byte(dataJson), &arr)
Darüber hinaus können Sie den Code vereinfachen, indem Sie ihn direkt in das Array-Slice entmarshagen, ohne einen benutzerdefinierten Typ zu verwenden:
var arr []string _ = json.Unmarshal([]byte(dataJson), &arr)
Dies Code weist das nicht gemarshalte Slice arr zu. Der Unterstrich vor der Zuweisung unterdrückt den Fehlerwert, der in diesem Code nicht verwendet wird.
Durch die effektive Verwendung des JSON-Pakets können Sie JSON-Arrays in Go problemlos analysieren.
Das obige ist der detaillierte Inhalt vonWie analysiere ich JSON-Arrays in Go mit dem „json'-Paket?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!