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

Wie gehe ich mit Nullwerten um, wenn ich JSON int64s in Go parse?

Linda Hamilton
Freigeben: 2024-11-28 14:56:11
Original
176 Leute haben es durchsucht

How to Handle Null Values When Parsing JSON int64s in Go?

JSON-Parsing von int64s: Umgang mit Nullwerten in Go

Beim Parsen von JSON-Streams in Go kann der Umgang mit Nullwerten besonders eine Herausforderung darstellen beim Umgang mit int64-Typen. Wie im bereitgestellten Beispiel gezeigt, führt der Versuch, ein JSON-Objekt, das einen Nullwert enthält, in ein Strukturfeld vom Typ int64 zu entmarshalieren, aufgrund der Typinkongruenz zu einem Fehler.

Verwenden eines Zeigers auf die Adresse Null Werte

Eine einfache Lösung für dieses Problem ist die Verwendung eines Zeigers auf int64. Ein Zeiger kann Null sein und einen Nullwert darstellen, oder er kann auf eine gültige int64-Instanz mit einem zugehörigen Wert verweisen. Dieser Ansatz wird vom JSON-Paket von Go unterstützt.

type World struct {
    Data *int64
}
Nach dem Login kopieren

Indem wir die obige Strukturdefinition so ändern, dass sie einen Zeiger auf int64 verwendet, können wir die JSON-Daten jetzt erfolgreich entmarshalieren, ohne dass der vorherige Fehler auftritt. Mit *int64 kann der JSON-Parser Nullwerte als Nullzeiger darstellen.

Zuordnung von Null zu Nicht-Null-Werten

Bei Bedarf können Sie die Nullwerte zuordnen ein Wert ungleich Null, z. B. -1 oder MinValue. Dies kann durch eine benutzerdefinierte Verarbeitung der JSON-Daten nach dem Unmarshaling erreicht werden. Zum Beispiel:

func MapNull(data *int64) int64 {
    if data == nil {
        return -1
    }
    return *data
}
Nach dem Login kopieren

Durch Aufrufen der MapNull-Funktion nach dem Unmarshaling können Sie alle Nullwerte durch die gewünschte Nicht-Null-Darstellung ersetzen.

Fazit

Der Umgang mit Nullwerten beim Parsen von JSON-Daten mit int64-Typen in Go kann durch die Verwendung eines Zeigers auf int64 erreicht werden. Diese Technik ermöglicht es dem JSON-Parser, Nullwerte darzustellen und die ursprüngliche Datenstruktur beizubehalten. Bei Bedarf kann eine benutzerdefinierte Nachbearbeitung angewendet werden, um Nullwerte alternativen Nicht-Null-Darstellungen zuzuordnen.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit Nullwerten um, wenn ich JSON int64s in Go parse?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage