Heim > Backend-Entwicklung > Golang > Wie gehe ich mit JSON-Schlüsseln mit Leerzeichen in Go um?

Wie gehe ich mit JSON-Schlüsseln mit Leerzeichen in Go um?

Barbara Streisand
Freigeben: 2024-12-19 00:54:10
Original
352 Leute haben es durchsucht

How to Handle JSON Keys with Spaces in Go?

Unmarshalling von JSON mit Schlüsselnamen, die Leerzeichen enthalten

Beim JSON-Deserialisierungsprozess können beim Umgang mit JSON-Daten, die Schlüsselnamen enthalten, Schwierigkeiten auftreten mit Leerzeichen. Dieses Problem tritt auf, wenn die Standardbibliothek „Encoding/JSON“ in Go verwendet wird. Die Bibliothek hat Schwierigkeiten, Schlüssel mit Leerzeichen zu interpretieren, während sie versucht, JSON-Felder Strukturfeldern zuzuordnen.

Um dieses Problem zu beheben, stellen Sie sicher, dass die JSON-Tag-Spezifikation korrekt ist. Das JSON-Tag ordnet JSON-Feldnamen Strukturfeldnamen zu. Wenn in der JSON-Tag-Spezifikation nach dem Doppelpunkt, aber vor dem Anführungszeichen ein Leerzeichen erscheint, kann die Bibliothek das JSON-Feld nicht ordnungsgemäß dem Strukturfeld zuordnen.

Bedenken Sie den folgenden Beispielcode:

type Animal struct {
    Name  string `json:"Na me"`
    Order string `json:"Order,omitempty"`
}
Nach dem Login kopieren

In diesem Beispiel wird das JSON-Tag für das Feld „Name“ fälschlicherweise mit einem Leerzeichen nach dem Doppelpunkt angegeben. Um das Problem zu beheben, entfernen Sie das Leerzeichen und geben Sie das Tag wie folgt an:

type Animal struct {
    Name  string `json:"Name"`
    Order string `json:"Order,omitempty"`
}
Nach dem Login kopieren

Mit dieser Änderung kann die JSON-Bibliothek die JSON-Feldnamen erfolgreich den Strukturfeldnamen zuordnen, auch wenn die Feldnamen enthalten Räume. Dadurch wird sichergestellt, dass die Strukturfelder ordnungsgemäß mit Werten aus den JSON-Daten gefüllt werden.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit JSON-Schlüsseln mit Leerzeichen in Go um?. 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