Anpassen der JSON-Parsing-Standardwerte in Go
Beim Parsen von JSON in Go kann die Zuweisung von Standardwerten zu nicht vorhandenen Feldern die Datenmanipulation verbessern. So können Sie dies erreichen, indem Sie das Paket „encoding/json“ verwenden oder eine externe Go-Bibliothek nutzen.
Verwendung von „encoding/json“
Das Paket „encoding/json“ bietet eine unkomplizierte Lösung . Anstatt eine leere Struktur an json.Unmarshal zu übergeben, können Sie sie mit Standardwerten initialisieren. Zum Beispiel:
type Test struct { A string "a" B string "b" C string } example := []byte(`{"A": "1", "C": "3"}`) out := Test{} err := json.Unmarshal(example, &out) if err != nil { panic(err) } fmt.Printf("%+v", out)
Verwendung externer Bibliotheken
Wenn das Encoding/JSON-Paket Ihre Anforderungen nicht vollständig erfüllt, gibt es externe Go-Bibliotheken, die erweitertes JSON bereitstellen Parsing-Funktionalität. Eine beliebte Option ist die go-json-Bibliothek, mit der Sie mithilfe von Struktur-Tags Standardwerte für fehlende Felder angeben können.
import ( "encoding/json" "github.com/go-json" ) type Test struct { A string `json:"a,omitempty"` B string `json:"b,omitempty"` C string `json:"c,omitempty"` } example := []byte(`{"A": "1", "C": "3"}`) out := Test{ DefaultA: "a", DefaultB: "b", DefaultC: "c", } err := json.Unmarshal(example, &out) if err != nil { panic(err) } fmt.Printf("%+v", out)
Das obige ist der detaillierte Inhalt vonWie kann ich Standardwerte für fehlende JSON-Felder in Go festlegen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!