Heim > Backend-Entwicklung > Golang > Wie kann ich JSON-Arrays mit gemischten Datentypen in Go verarbeiten?

Wie kann ich JSON-Arrays mit gemischten Datentypen in Go verarbeiten?

Linda Hamilton
Freigeben: 2024-11-29 11:11:10
Original
834 Leute haben es durchsucht

How Can I Handle JSON Arrays with Mixed Data Types in Go?

Entschlüsselung von JSON-Arrays mit unterschiedlichen Werttypen

Im Bereich der Datenserialisierung und -deserialisierung besteht die Notwendigkeit, JSON-Arrays zu verarbeiten, die eine Mischung aus Werttypen sind eine häufige Begegnung. Stellen Sie sich ein Szenario vor, in dem Sie ein Array wie ["NewYork", 123] haben. Dies stellt ein Dilemma dar, da Go-Arrays explizite Typdefinitionen erfordern, was uns unsicher macht, wie wir diese Ungleichheit ausgleichen können.

Das Rätsel angehen

Um dieses Dilemma zu umgehen, ist der erste Schritt dient dazu, die Gültigkeit des JSON-Arrays sicherzustellen. JSON-Objekte erfordern Schlüssel für jeden Wert, daher wäre eine passendere Darstellung {"key":["NewYork",123]} oder einfach ["NewYork",123].

Wenn Sie auf heterogene Datentypen in stoßen Wenn Sie ein Array verwenden, liegt die Lösung darin, die Flexibilität des Schnittstellentyps {} von Go zu nutzen. Dies ermöglicht die Speicherung und Weitergabe von Werten unterschiedlicher Art ohne Casting-Einschränkungen.

Betrachten Sie das folgende Beispiel, das zeigt, wie Sie diese Herausforderung effektiv angehen können:

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)
}
Nach dem Login kopieren

In diesem Beispiel Wir definieren einen benutzerdefinierten Typ, UntypedJson, der eine Zuordnung von Strings zu Arrays von interface{} ist. Dadurch können wir das JSON-Array entmarshalieren und gleichzeitig die darin enthaltenen unterschiedlichen Typen beibehalten.

Die json.Unmarshal-Funktion wird dann verwendet, um unsere UntypedJson-Struktur zu füllen, wobei die Ausgabe aus Gründen der Übersichtlichkeit gedruckt und formatiert wird.

Dieser Ansatz ermöglicht Ihnen den einfachen und flexiblen Umgang mit JSON-Arrays mit unterschiedlichen Werttypen. Indem Sie die Leistungsfähigkeit von interface{} nutzen, können Sie die Fallstricke expliziter Typdefinitionen vermeiden und den Umfang der Möglichkeiten Ihrer Go-Anwendungen erweitern.

Das obige ist der detaillierte Inhalt vonWie kann ich JSON-Arrays mit gemischten Datentypen in Go verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage