Heim >Backend-Entwicklung >Golang >Wie entmarshaliere ich JSON mit einem dynamischen Schlüssel in Go?
JSON-Unmarshalling mit dynamischem Schlüssel
Das Unmarshalling von JSON mit einem dynamischen Schlüssel, der nicht als statisches Feld in einer Struktur erfasst werden kann, kann in erreicht werden Verwenden Sie a Karte.
Beispiel:
Berücksichtigen Sie die folgenden JSON-Daten:
{ "any string" : { "a_known_string" : "some value", "b_known_string" : "another value" } }
Und die Struktur:
type X struct { A string `json:"a_known_string"` B string `json:"b_known_string"` }
Lösung:
Um sowohl den dynamischen Schlüssel als auch das Bekannte zu erfassen Werte, verwenden Sie eine Karte anstelle einer Struktur:
import "encoding/json" var m map[string]X err := json.Unmarshal([]byte(jsonStr), &m) if err != nil { // Handle error } // Access the data using the dynamic key dynamicKeyData := m["any string"]
In diesem Szenario ermöglicht der Typ „map[string]X“ die Erfassung des dynamischen Schlüssels „beliebige Zeichenfolge“ zusammen mit den bekannten Werten im X Struktur.
Das obige ist der detaillierte Inhalt vonWie entmarshaliere ich JSON mit einem dynamischen Schlüssel in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!