Heim >Backend-Entwicklung >Golang >Wie entmarshaliere ich JSON mit Leerzeichen in Schlüsselnamen?

Wie entmarshaliere ich JSON mit Leerzeichen in Schlüsselnamen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-16 20:22:11709Durchsuche

How to Unmarshal JSON with Spaces in Key Names?

Unmarshalling von JSON mit Schlüsselnamen, die Leerzeichen enthalten

Sie stoßen auf ein Problem, bei dem Leerzeichen in JSON-Schlüsselnamen Probleme beim Unmarshalling mit der verursachen Encoding/JSON-Bibliothek. Insbesondere entfernt die Bibliothek Leerzeichen aus den Schlüsselnamen im Schema, was zu Verwirrung und falschem Unmarshalling führt.

Lösung

Der Fehler liegt in Ihrer falschen JSON-Tag-Spezifikation. In Ihrem Beispiel:

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

Das Tag für Name hat ein führendes Leerzeichen vor dem Doppelpunkt, was falsch ist. Es sollte wie folgt lauten:

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

Nach dem Doppelpunkt in der Tag-Spezifikation sollte kein Leerzeichen stehen. Mit dieser Korrektur funktioniert das Unmarshalling wie erwartet und Sie können auf Schlüsselnamen mit Leerzeichen in Ihren JSON-Daten zugreifen.

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