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

Wie analysiere ich JSON-Maps-Arrays in Go-Strukturen?

Barbara Streisand
Freigeben: 2024-12-14 00:10:09
Original
865 Leute haben es durchsucht

How Do I Parse JSON Arrays of Maps into Go Structs?

JSON-Arrays in Go-Datenstrukturen analysieren

Beim Umgang mit JSON-Daten, die Arrays enthalten, kann es schwierig sein, die geeignete Go-Datenstruktur auszuwählen hinein analysieren. Wenn eine Datei beispielsweise ein Array von Schlüssel-Wert-Paaren enthält, können Versuche, einen Map[string]string zu verwenden, zu einem Fehler wie „Array kann nicht in Go-Wert vom Typ main.data entmarshaliert werden“ führen.

Die Lösung liegt in der genauen Identifizierung der JSON-Struktur. Während das bereitgestellte Beispiel wie ein Array aussieht, handelt es sich tatsächlich um ein Array von Karten. Die Datei sollte stattdessen wie folgt aussehen, um mit der Struktur „map[string]string“ übereinzustimmen:

{
  "a":"1",
  "b":"2",
  "c":"3"
}
Nach dem Login kopieren

Bedenken Sie den folgenden Codeausschnitt, der das Parsen eines Arrays von Karten in eine Go-Struktur demonstriert:

package main

import (
    "encoding/json"
    "fmt"
    "io/ioutil"
    "log"
)

type mytype []map[string]string

func main() {
    var data mytype
    file, err := ioutil.ReadFile("test.json")
    if err != nil {
        log.Fatal(err)
    }
    err = json.Unmarshal(file, &data)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(data)
}
Nach dem Login kopieren

Wenn Sie diesen Code mit einer gültigen JSON-Datei ausführen, werden die Daten erfolgreich in die gewünschte Struktur geparst und Sie erhalten Zugriff auf die Schlüssel-Wert-Paare in der Array.

Das obige ist der detaillierte Inhalt vonWie analysiere ich JSON-Maps-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