Wann gibt json.Unmarshal einen Fehler in Go zurück?
In Go analysiert die json.Unmarshal-Funktion einen JSON-String in eine Struktur , aber es wird nicht immer ein Fehler zurückgegeben. In bestimmten Situationen werden jedoch Fehler zurückgegeben.
Wenn kein Fehler zurückgegeben wird
Der JSON-Decoder meldet normalerweise keinen Fehler, wenn Werte in der Quelle nicht angezeigt werden. Sie stimmen nicht mit denen im Ziel überein. Wenn die Quelle beispielsweise ein Feld mit dem Namen „Status“ enthält, das Ziel jedoch nicht, wird kein Fehler ausgelöst.
Fehlerfälle
json.Unmarshal gibt zurück Fehler in den folgenden Szenarien:
Beispiel für Fehlerfälle
type A struct { Name string `json:"name"` } var jsonString string = `{ "status": "false" }'` var a A error := json.Unmarshal([]byte(jsonString), &a) fmt.Println(err) // prints cannot unmarshal bool into Go value of type string
In diesem Beispiel wird ein Fehler ausgegeben weil der Quell-JSON ein „Status“-Feld vom Typ boolean hat, die Zielstruktur jedoch kein entsprechendes boolesches Feld hat.
Das obige ist der detaillierte Inhalt vonWann löst „json.Unmarshal' einen Fehler in Go aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!