


Wie kann ich JSON-Arrays mit gemischten Datentypen in Go entmarshalieren?
Unmarshaling von JSON-Arrays mit gemischten Werttypen
Das Unmarshaling eines JSON-Arrays mit Werten unterschiedlicher Typen kann in Go aufgrund der Anforderung eine Herausforderung darstellen zur expliziten Typdefinition in Go-Arrays.
Case Studie:
Betrachten Sie das folgende ungültige JSON-Beispiel:
["NewYork", 123]
Ein Versuch, dieses Array in ein Go-Array zu dekodieren, würde fehlschlagen, da das Go-Array einen festen Typ erfordert in diesem Fall unbekannt.
Lösung:
Um diese Einschränkung zu überwinden, bietet Go die interface{}-Typ, der die Speicherung von Werten jeglichen Typs ermöglicht. Durch die Verwendung von interface{} wird es möglich, JSON-Arrays mit gemischten Werttypen zu entmarshalieren, wie unten gezeigt:
const j = `{"NYC": ["NewYork", 123]}` type UntypedJson map[string][]interface{} func main() { ut := UntypedJson{} fmt.Println(json.Unmarshal([]byte(j), &ut)) fmt.Printf("%#v", ut) }
In diesem Beispiel definieren wir einen benutzerdefinierten Typ UntypedJson als Zuordnung von Zeichenfolgenschlüsseln zu Slices von Schnittstelle{}. Das JSON-Array wird dann in der UntypedJson-Instanz entmarshaled. Die fmt.Printf-Anweisung zeigt die nicht gemarshallten Daten an, die die gemischten Werte aus dem JSON-Array enthalten.
Durch die Verwendung des Typs interface{} wird es möglich, JSON-Arrays mit Werten unterschiedlicher Typen zu entmarshalieren und so mehr zu bieten flexible und vielseitige Lösung für komplexe Datenszenarien.
Das obige ist der detaillierte Inhalt vonWie kann ich JSON-Arrays mit gemischten Datentypen in Go entmarshalieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

GO Language Pack Import: Was ist der Unterschied zwischen Unterstrich und ohne Unterstrich?

Wie kann ich kurzfristige Informationsübertragung zwischen Seiten im BeEGO-Framework implementieren?

Wie konvertieren Sie die Liste der MySQL -Abfrageergebnisse in eine benutzerdefinierte Struktur -Slice in Go -Sprache?

Wie kann ich benutzerdefinierte Typ -Einschränkungen für Generika in Go definieren?

Wie schreibe ich Scheinobjekte und Stubs zum Testen in Go?

Wie schreibe ich Dateien in Go Language bequem?

Wie kann ich Tracing -Tools verwenden, um den Ausführungsfluss meiner GO -Anwendungen zu verstehen?
