Heim >Backend-Entwicklung >Golang >Wie entmarshaliere ich JSON mit Leerzeichen enthaltenden Schlüsselnamen in Gos „encoding/json'?

Wie entmarshaliere ich JSON mit Leerzeichen enthaltenden Schlüsselnamen in Gos „encoding/json'?

Barbara Streisand
Barbara StreisandOriginal
2025-01-03 14:12:39627Durchsuche

How to Unmarshal JSON with Space-Containing Key Names in Go's `encoding/json`?

Unmarshalling von JSON mit Schlüsselnamen, die Leerzeichen enthalten, mithilfe der Codierung/JSON-Bibliothek

Beim Umgang mit JSON-Antworten stoßen Sie möglicherweise auf Schlüsselnamen, die Leerzeichen enthalten . Versuche, solche Daten mithilfe der Standardbibliothek „encoding/json“ zu entmarshalieren, können zu Fehlern führen, da die Bibliothek Schlüssel mit Leerzeichen nicht erkennen kann. Dies kann auf falsche JSON-Tag-Spezifikationen zurückgeführt werden.

In Ihrem Beispiel tritt das Problem auf, weil die JSON-Tag-Spezifikation für Name ein Leerzeichen nach dem Doppelpunkt enthält. Dies führt dazu, dass die Bibliothek nach einem Schlüssel namens „Name“ anstelle von „Na me“ sucht, der in den JSON-Daten fehlt.

Um dieses Problem zu beheben, stellen Sie sicher, dass Ihre JSON-Tags ordnungsgemäß ohne Leerzeichen angegeben sind der Dickdarm. Die korrekte Notation ist json:"keyname".

Durch diese einfache Änderung ordnet die Bibliothek den Feldnamen genau dem entsprechenden Schlüssel in den JSON-Daten zu und entmarshallt das Schlüssel-Wert-Paar erfolgreich.

Das obige ist der detaillierte Inhalt vonWie entmarshaliere ich JSON mit Leerzeichen enthaltenden Schlüsselnamen in Gos „encoding/json'?. 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