Heim > Backend-Entwicklung > Golang > Wie kann ich ein JSON-Array effizient in eine Go-Datenstruktur analysieren?

Wie kann ich ein JSON-Array effizient in eine Go-Datenstruktur analysieren?

DDD
Freigeben: 2024-12-22 01:40:30
Original
394 Leute haben es durchsucht

How to Efficiently Parse a JSON Array into a Go Data Structure?

JSON-Array in Datenstruktur in Go analysieren

Beim Umgang mit als Array strukturierten JSON-Daten kann die Verwendung einer Go-Karte auf Einschränkungen stoßen. Ein geeigneterer Ansatz besteht darin, eine benutzerdefinierte Datenstruktur zu definieren, um das spezifische Format der Daten zu berücksichtigen.

Ein Beispiel für ein JSON-Array:

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

Um dieses Array zu analysieren, kann ein benutzerdefinierter Typ verwendet werden definiert:

type mytype []map[string]string
Nach dem Login kopieren

Dieser Typ stellt ein Array von Karten dar, wobei jedes Kartenelement einem Objekt im JSON entspricht Array.

So analysieren Sie das JSON-Array in den benutzerdefinierten Typ:

package main

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

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

Durch das Lesen der Datei und das Unmarshaling ihres Inhalts in die Datenvariable vom Typ mytype wird das JSON-Array erfolgreich erstellt in eine Go-Struktur geparst. Über die Datenvariable kann dann auf die einzelnen Objekte im Array zugegriffen werden.

Das obige ist der detaillierte Inhalt vonWie kann ich ein JSON-Array effizient in eine Go-Datenstruktur analysieren?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage