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

Wie analysiere ich JSON-Arrays in strukturierte Daten in Go?

Barbara Streisand
Barbara StreisandOriginal
2024-11-17 19:31:02567Durchsuche

How to Parse JSON Arrays into Structured Data in Go?

JSON-Arrays in Go analysieren

Unmarshal mit definierter Struktur verwenden

Problem:

Wie analysiere ich ein komplexes JSON-Array mit Objekten in ein strukturiertes Format in Go?

Beispiel-JSON:

[{"id":694476444991229955,"id_str":"694476444991229955"}]

Lösung:

  1. Definieren Sie eine Go-Struktur, um die JSON-Daten zu modellieren.

    type Tweet struct {
     ID       int64  `json:"id"`
     IDStr    string `json:"id_str"`
    }
  2. Erstellen Sie einen Ausschnitt der Tweet-Struktur, um die analysierten Daten zu speichern Ergebnisse.

    tweets := make([]Tweet, 0)
  3. Entpacken Sie das JSON-Array in das Tweet-Slice.

    err := json.Unmarshal([]byte(jsonString), &tweets)
    if err != nil {
     fmt.Println(err)
    }
  4. Iterieren Sie über das Tweet-Slice, um auf das analysierte Ergebnis zuzugreifen Daten.

    for _, tweet := range tweets {
     fmt.Println(tweet.ID, tweet.IDStr)
    }

Unmarshaling in Map[string]interface{} Slice

Hinweis: Diese Methode erfordert Indizierung und Typassertion, um auf die Werte zuzugreifen.

  1. Erstellen Sie ein Kartensegment, um die analysierten Ergebnisse zu speichern.

    tweets := make([]map[string]interface{}, 0)
  2. Unmarshalieren Sie den JSON Array in den Kartenausschnitt.

    err := json.Unmarshal([]byte(jsonString), &tweets)
    if err != nil {
     fmt.Println(err)
    }
  3. Iterieren Sie über den Kartenausschnitt, um auf die analysierten Daten zuzugreifen.

    for _, tweet := range tweets {
     id, ok := tweet["id"].(int64)
     if ok {
         fmt.Println("ID:", id)
     }
    }

Das obige ist der detaillierte Inhalt vonWie analysiere ich JSON-Arrays in strukturierte Daten in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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