Heim > Backend-Entwicklung > Golang > Wie analysiere ich JSON-Arrays in Go-Strukturen?

Wie analysiere ich JSON-Arrays in Go-Strukturen?

Susan Sarandon
Freigeben: 2024-11-26 18:01:15
Original
886 Leute haben es durchsucht

How to Parse JSON Arrays into Go Structs?

So verarbeiten Sie JSON-Arrays in Go

Die Abfrage stellt eine Herausforderung beim Parsen von JSON-Arrays in Go dar. Ein JSON-Array ist eine Sammlung von Objekten, und im gegebenen Beispiel sind die von einem API-Aufruf zurückgegebenen Daten ein Array komplexer Objekte.

Um dieses Array zu analysieren, müssen wir eine Go-Struktur definieren, die das widerspiegelt Struktur der Objekte im Array. Beginnen wir mit der Definition der PublicKey-Struktur:

type PublicKey struct {
    name string
    price string
}
Nach dem Login kopieren

Als nächstes müssen wir eine KeysResponse-Struktur definieren, um das gesamte Array von PublicKey-Objekten darzustellen:

type KeysResponse struct {
    Collection []PublicKey
}
Nach dem Login kopieren

Wir entmarshalieren dann den JSON in eine Variable vom Typ KeysResponse:

keys := make([]PublicKey, 0)
err := json.Unmarshal([]byte(s), &keys)
if err == nil {
    fmt.Printf("%+v\n", keys)
} else {
    fmt.Println(err)
    fmt.Printf("%+v\n", keys)
}
Nach dem Login kopieren

Die json.Unmarshal-Funktion wird automatisch ausgeführt Füllen Sie die Schlüsselvariable mit den analysierten Daten aus dem JSON. Der Code der ursprünglichen Frage enthielt jedoch ein übersehenes Detail: Die Felder der PublicKey-Struktur müssen exportiert werden (mit einem Großbuchstaben beginnen).

Nach dieser Änderung analysiert der Code das JSON-Array korrekt und gibt es aus die Ergebnisse im gewünschten Format:

[{Name:Galaxy Nexus Price:3460.00} {Name:Galaxy Nexus Price:3460.00}]
Nach dem Login kopieren

Beachten Sie, dass der JSON-Text in der Frage Feldnamen mit Kleinbuchstaben enthält, das JSON-Paket jedoch intelligent genug ist, um sie mit dem abzugleichen exportierte Felder der PublicKey-Struktur.

Für eine komplexere JSON-Struktur wird empfohlen, Struktur-Tags zu verwenden, um JSON-Feldnamen explizit Strukturfeldern zuzuordnen. Darüber hinaus bietet das Unmarshaling in ein Kartensegment ([]map[string]interface{}) einen alternativen Ansatz, erfordert jedoch manuelle Indizierung und Typzusicherungen.

Das obige ist der detaillierte Inhalt vonWie analysiere ich JSON-Arrays in Go-Strukturen?. 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