Frage:
Ist es möglich, JSON mit unbekannten Feldnamen zu entmarshalieren? im Voraus, unter Beibehaltung des Gegebenen Struktur?
Problem:
Betrachten Sie eine JSON-Antwort, bei der unbekannte Feldnamen eine gemeinsame Struktur umschließen. Diese Struktur muss einer Struktur zugeordnet werden, aber die Feldnamen variieren.
{ "unknown_field": { "known_field_1": [[1,2,3,4,5],[10,20,30,40,50],[100,200,300,400,500]], "known_field_2": [[11,21,31,41,51]], "known_field_3": [[12,22,32,42,52],[14,44,34,44,54]] } }
Antwort:
Ja, es ist möglich, ein solches JSON mithilfe einer Karte zu entmarshalieren das Stammstrukturelement, wobei Schlüssel die unbekannten Feldnamen und Werte Instanzen des Bekannten sind struct.
type mData struct { KnownField1 [][5]int `json:"known_field_1"` KnownField2 [][5]int `json:"known_field_2"` KnownField3 [][5]int `json:"known_field_3"` }
var data map[string]mData if err := json.Unmarshal(body, &data); err != nil { panic(err) }
Ausgabe:
map[unknown_field:{[[1 2 3 4 5] [10 20 30 40 50] [100 200 300 400 500]] [[11 21 31 41 51]] [[12 22 32 42 52] [14 44 34 44 54]]}] unknown_field {[[1 2 3 4 5] [10 20 30 40 50] [100 200 300 400 500]] [[11 21 31 41 51]] [[12 22 32 42 52] [14 44 34 44 54]]}
Das obige ist der detaillierte Inhalt vonWie entmarshaliere ich JSON mit unerwarteten Feldnamen in eine Go-Struktur?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!