Heim > Backend-Entwicklung > Golang > Wie gehe ich mit fehlenden JSON-Feldern mit Standardwerten in Go um?

Wie gehe ich mit fehlenden JSON-Feldern mit Standardwerten in Go um?

Patricia Arquette
Freigeben: 2024-12-13 05:54:13
Original
396 Leute haben es durchsucht

How to Handle Missing JSON Fields with Default Values in Go?

JSON mit Standardwerten in Go analysieren

Wenn Sie JSON in Go analysieren und auf fehlende oder undefinierte Felder stoßen, ist es oft wünschenswert, Standardwerte zuzuweisen um eine vollständige und konsistente Datendarstellung sicherzustellen.

Um dies mit dem integrierten Encoding/JSON-Paket zu erreichen, vermeiden Sie die Übergabe von an Leere Struktur zu json.Unmarshal. Initialisieren Sie stattdessen die Struktur mit Standardwerten. Betrachten wir zum Beispiel die folgende Struktur:

type Test struct {
    A string
    B string
    C string
}
Nach dem Login kopieren

Mit den Standardwerten „a“, „b“ und „c“ für die Felder A, B bzw. C können wir den JSON analysieren string:

{"A": "1", "C": 3}
Nach dem Login kopieren

in die folgende Struktur:

out := Test{
    A: "default a",
    B: "default b",
    // C defaults to the empty value ""
}
Nach dem Login kopieren

Durch Aufruf von json.Unmarshal(example, &out) wird das JSON-Marshalling in out aufgehoben, wobei bestimmte Felder mit ihren Werten aus dem JSON überschrieben werden, während die Standardwerte für die übrigen Felder beibehalten werden. Das obige Beispiel würde zu {A:1 B:default b C:3} führen.

Diese Technik bietet eine einfache Möglichkeit, fehlende Felder bei der JSON-Datenanalyse zu behandeln und gleichzeitig die Datenintegrität aufrechtzuerhalten.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit fehlenden JSON-Feldern mit Standardwerten in Go um?. 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