Heim >Backend-Entwicklung >Golang >Wie erreicht man in Go ein JSON-Unmarshal mit Berücksichtigung der Groß- und Kleinschreibung?
Groß-/Kleinschreibung berücksichtigendes JSON-Unmarshal in Go
Die json.Unmarshal-Funktion in Go bietet eine Möglichkeit, JSON-Daten in eine Struktur zu deserialisieren. Standardmäßig führt Unmarshal einen Abgleich zwischen den JSON-Schlüsseln und den Strukturfeldnamen oder -tags ohne Berücksichtigung der Groß- und Kleinschreibung durch. Es kann jedoch Fälle geben, in denen eine Übereinstimmung zwischen Groß- und Kleinschreibung wünschenswert ist.
Problem
Angenommen, Sie erhalten JSON-Daten mit Tags wie „e“ und „ E". Sie möchten das Objekt mit dem Tag „e“ entmarshalieren und das mit dem Tag „E“ ignorieren. Mit dem Standardabgleich, bei dem die Groß- und Kleinschreibung nicht beachtet wird, akzeptiert Unmarshal beide Tags und entmarshmiert die Struktur entsprechend.
Lösung
Leider unterstützt die Standard-JSON-Bibliothek derzeit keine Groß-/Kleinschreibung. sensibles Matching für Unmarshal. Laut der offiziellen Dokumentation:
To unmarshal JSON into a struct, Unmarshal matches incoming object keys to the keys used by Marshal (either the struct field name or its tag), preferring an exact match but also accepting a case-insensitive match.
Daher gibt es keine Möglichkeit, den Vergleich ohne Berücksichtigung der Groß-/Kleinschreibung mithilfe der Standard-JSON-Bibliothek zu deaktivieren.
Das obige ist der detaillierte Inhalt vonWie erreicht man in Go ein JSON-Unmarshal mit Berücksichtigung der Groß- und Kleinschreibung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!