Heim >Backend-Entwicklung >Golang >Wie gehe ich mit Nullwerten um, wenn ich int64-JSON-Daten in Go parse?

Wie gehe ich mit Nullwerten um, wenn ich int64-JSON-Daten in Go parse?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-30 15:38:14178Durchsuche

How to Handle Null Values When Parsing int64 JSON Data in Go?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn