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 }
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"}
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)
Dieser Code würde Folgendes ausgeben:
{A:1 B:default b C:3}
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!