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

Wie kann ich beim Parsen von JSON in Go Standardwerte festlegen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-10 17:12:17622Durchsuche

How Can I Set Default Values When Parsing JSON in Go?

Angeben von Standardwerten beim JSON-Parsen mit Go

Beim Parsen von JSON-Objekten in Go kann es erforderlich sein, Standardwerte für Felder anzugeben, die werden im Eingabe-JSON nicht bereitgestellt. Betrachten Sie einen Strukturtyp mit den folgenden Feldern:

type Test struct {
    A string
    B string
    C string
}

Angenommen, die gewünschten Standardwerte für A, B und C sind „a“, „b“ bzw. „c“. Beim Parsen des folgenden JSON:

{"A": "1", "C": 3}

die erwartete Struktur wäre:

Test{A: "1", B: "b", C: "3"}

Verwendung des Encoding/JSON-Pakets

Die erstellte -in-Encoding/JSON-Paket in Go ermöglicht die Angabe von Standardwerten während der JSON-Analyse. Anstatt eine leere Struktur zu verwenden, stellen Sie wie folgt eine Struktur mit den gewünschten Standardwerten bereit:

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)

Durch den Aufruf von json.Unmarshal(example, &out) wird das JSON in die Out-Struktur entmarshallt und die Werte überschrieben im JSON angegeben. Die Standardwerte für Felder, die nicht im JSON vorhanden sind, bleiben jedoch unverändert. Wenn Sie das Beispiel ausführen, wird Folgendes zurückgegeben:

{A:1 B:default b C:3}

Andere Go-Bibliotheken

Wenn das Encoding/JSON-Paket bestimmte Anforderungen nicht erfüllt, gibt es andere Go-Bibliotheken, die ähnliche Funktionen bieten . Bedenken Sie Folgendes:

  • [xjson](https://github.com/gobuffalo/x/blob/master/xjson/xjson.go) bietet einen anpassbaren JSON-Parser, der die Spezifikation von ermöglicht Standardwerte und andere Optionen.
  • [eson](https://github.com/sean-/eson) ist ein weiterer JSON-Parser, der Standardwerte unterstützt über seine default()-Methode.

Das obige ist der detaillierte Inhalt vonWie kann ich beim Parsen von JSON in Go Standardwerte festlegen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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