Wie kann ich eine JSON-Zeichenfolge mit bekannten und unbekannten Schlüssel-/Wertpaaren analysieren? in eine Go-Struktur? Die unbekannten Felder können einen beliebigen Namen und Werttyp haben (String, Bool, Float64 oder Int).
Erstellen Sie eine Struktur mit den bekannten Feldern und einen Teil der Karten für die unbekannten Felder :
<code class="go">type Message struct { Known1 string `json:"known1"` Known2 string `json:"known2"` Unknowns []map[string]interface{} }</code>
Entpacken Sie die JSON-Zeichenfolge in diese Struktur:
<code class="go">json.Unmarshal([]byte(jsonMsg), &msg)</code>
Das Feld „Unbekannte“ enthält eine Liste von Karten, die die unbekannten Schlüssel/Wert-Paare darstellen.
Doppeltes Unmarshalieren:
Unmarshalieren und Typkonvertierung:
Alle drei Lösungen sind gültig, aber die einfachste und eleganteste ist der anfängliche strukturbasierte Ansatz. Es vermeidet die Notwendigkeit zusätzlicher Unmarshals oder manueller Typkonvertierungen.
Das obige ist der detaillierte Inhalt vonWie kann ich JSON mit bekannten und unbekannten Schlüssel/Wert-Paaren in eine Go-Struktur analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!