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
DDDOriginal
2024-12-11 02:58:09585Durchsuche

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"`
}

Und eine Beispiel-JSON-Zeichenfolge:

{
  "any string": {
    "a_known_string": "some value",
    "b_known_string": "another value"
  }
}

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)

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!

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