Heim >Backend-Entwicklung >Golang >Wie gehe ich mit Nullwerten um, wenn ich int64-JSON-Daten in Go parse?
JSON-Parsing von int64 in Go: Umgang mit Nullwerten
In Go kann das Parsen von JSON-Daten, die ganzzahlige Werte vom Typ int64 enthalten, eine Herausforderung darstellen auf Nullwerte stoßen. Wenn auf Nullwerte gestoßen wird, gibt das Standard-JSON-Paket einen Fehler aus, da Null nicht in ein int64 entmarshaliert werden kann.
Nullable int64 Type for JSON Parsing
Um dies zu beheben Als Einschränkung ist ein nullbarer int64-Typ erforderlich. Ein int64, das NULL-Werte zulässt, ermöglicht entweder einen Nullwert oder einen gültigen int64-Wert. Durch die Verwendung eines Zeigers in Go erreichen wir diese Funktionalität:
type NullableInt64 *int64
Wenn ein Zeiger für den Typ verwendet wird, kann dieser entweder Null sein oder auf einen int64-Wert verweisen.
Implementierung
Integration des nullbaren int64-Typs in den früheren Beispiel:
package main import ( "encoding/json" "fmt" ) var d = []byte(`{ "world":[{"data": 2251799813685312}, {"data": null}]}`) type jsonobj struct{ World []World } type World struct{ Data *int64 } // Using *int64 for nullable int64 func main() { var data jsonobj jerr := json.Unmarshal(d, &data) fmt.Println(jerr) }
Diese Änderung ermöglicht es dem JSON-Parser, Nullwerte im Feld „Daten“ erfolgreich zu verarbeiten, ohne dass Fehler auftreten.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit Nullwerten um, wenn ich int64-JSON-Daten in Go parse?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!