Heim > Backend-Entwicklung > Golang > Wie lege ich beim Parsen von JSON in Go Standardwerte fest?

Wie lege ich beim Parsen von JSON in Go Standardwerte fest?

Mary-Kate Olsen
Freigeben: 2024-12-10 16:24:14
Original
338 Leute haben es durchsucht

How to Specify Default Values When Parsing JSON in Go?

Angeben von Standardwerten beim JSON-Parsen mit Go

Beim Parsen von JSON-Daten in eine Go-Struktur ist es oft wünschenswert, Standardwerte für anzugeben Felder, die im JSON nicht vorhanden sind. Das integrierte Paket „Encoding/JSON“ bietet einen unkomplizierten Mechanismus, um dies zu erreichen.

Wenn Sie json.Unmarshal aufrufen, können Sie statt einer leeren Struktur eine mit Standardwerten bereitstellen. Felder, die im JSON nicht vorhanden sind, behalten nach dem Unmarshalling ihre Standardwerte bei.

Betrachten Sie beispielsweise 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 A, B bzw. C, würde das Parsen des JSON unten eine Struktur mit dem angegebenen Standard zurückgeben Werte:

{"A": "1", "C": "3"}
Nach dem Login kopieren
var example []byte = []byte(`{"A": "1", "C": "3"}`)

out := Test{
    A: "default a",
    B: "default b",
    // default for C will be "", the empty value for a string
}
err := json.Unmarshal(example, &out)
if err != nil {
    panic(err)
}
fmt.Printf("%+v", out)
Nach dem Login kopieren

Dieser Code würde Folgendes ausgeben:

{A:1 B:default b C:3}
Nach dem Login kopieren

Wie gezeigt, überschreibt json.Unmarshal die im JSON angegebenen Werte, während nicht spezifizierte Felder ihre Standardwerte behalten. Diese Technik bietet eine praktische Möglichkeit, fehlende oder unvollständige JSON-Daten beim Parsen in Strukturen zu verarbeiten.

Das obige ist der detaillierte Inhalt vonWie lege ich beim Parsen von JSON in Go Standardwerte fest?. 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