Heim > Backend-Entwicklung > Golang > Wie kann ich JSON mit einem dynamischen Schlüssel in Go entmarshalieren?

Wie kann ich JSON mit einem dynamischen Schlüssel in Go entmarshalieren?

DDD
Freigeben: 2024-12-11 02:58:09
Original
590 Leute haben es durchsucht

How Can I Unmarshal JSON with a Dynamic Key in Go?

Dynamisches Schlüssel-Unmarshaling in JSON mit Go

Bei der Arbeit mit JSON-Daten kann es schwierig sein, das Unmarshaling in eine Struktur durchzuführen, wenn einer der „keys“ ist dynamisch und kann nicht direkt einem Feldnamen in der Struktur zugeordnet werden. Um dieses Problem anzugehen, kann in Golang eine praktische Lösung gefunden werden.

Gegeben eine definierte Struktur:

type X struct {
  A string `json:"a_known_string"`
  B string `json:"b_known_string"`
}
Nach dem Login kopieren

Und eine Beispiel-JSON-Zeichenfolge:

{
  "any string": {
    "a_known_string": "some value",
    "b_known_string": "another value"
  }
}
Nach dem Login kopieren

Zu erfassen Sowohl der bekannte als auch der dynamische Schlüssel im JSON, eine Karte kann verwendet werden:

var m map[string]X
err := json.Unmarshal([]byte(jsnStr), &m)
Nach dem Login kopieren

Dieser Ansatz ermöglicht die Speicherung mehrerer Objekte unter einem einzelner dynamischer Schlüssel, der Flexibilität bei der Datenverarbeitung bietet.

Ein Beispielspielplatz finden Sie [hier](https://play.golang.org/p/jh-GAlUEo7n).

Das obige ist der detaillierte Inhalt vonWie kann ich JSON mit einem dynamischen Schlüssel in Go entmarshalieren?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage