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
Freigeben: 2024-12-10 17:12:17
Original
555 Leute haben es durchsucht

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
}
Nach dem Login kopieren

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}
Nach dem Login kopieren

die erwartete Struktur wäre:

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

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)
Nach dem Login kopieren

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}
Nach dem Login kopieren

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!

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