Wie kann ich einen JSON-String 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 einem Teil der Karten für die unbekannten Felder :
type Message struct {
Known1 string `json:"known1"`
Known2 string `json:"known2"`
Unknowns []map[string]interface{}
}
Entpacken Sie die JSON-Zeichenfolge in diese Struktur:
json.Unmarshal([]byte(jsonMsg), &msg)
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.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3