Heim  >  Artikel  >  Backend-Entwicklung  >  Wie analysiere ich ein JSON-Array in Go?

Wie analysiere ich ein JSON-Array in Go?

Linda Hamilton
Linda HamiltonOriginal
2024-11-19 20:23:03463Durchsuche

How do I parse a JSON array in Go?

So analysieren Sie ein JSON-Array in Go

In Go bietet das Paket „encoding/json“ Unterstützung für das Unmarshalling von JSON-Daten in Go-Strukturen. Um ein JSON-Array zu analysieren, können Sie die folgenden Schritte ausführen:

  1. Definieren Sie eine Go-Struktur: Definieren Sie eine Struktur, die die Form der einzelnen Elemente im JSON darstellt Array. Wenn das JSON-Array beispielsweise Objekte mit Namens- und Preisfeldern enthält, würden Sie die folgende Struktur definieren:

    type PublicKey struct {
        Name string
        Price string
    }

    Hinweis: Stellen Sie sicher, dass die Feldnamen in der Struktur mit dem Feld übereinstimmen Namen im JSON-Array.

  2. Erstellen Sie ein Segment der Struktur:Erstellen Sie ein Segment des definierten Strukturtyps, um die analysierten Daten zu speichern:

    var keys []PublicKey
  3. Entmarshalieren Sie den JSON: Verwenden Sie die Funktion json.Unmarshal(), um das JSON-Array in das Segment der Strukturen zu entmarshalieren:

    err := json.Unmarshal([]byte(jsonStr), &keys)

    wobei jsonStr sind die zu analysierenden JSON-Daten.

  4. Behandeln Sie alle Fehler: Überprüfen Sie, ob beim Unmarshalling Fehler aufgetreten sind. Wenn ein Fehler auftritt, wird dieser in der Variablen err gespeichert:

    if err != nil {
        // Handle the error
    }
  5. Zugriff auf die geparsten Daten: Sobald das JSON-Array geparst ist, können Sie darauf zugreifen die einzelnen Elemente des Struktursegments:

    for _, key := range keys {
        fmt.Println(key.Name, key.Price)
    }

Beispiel:

Der folgende Code zeigt, wie ein JSON-Array mithilfe von analysiert wird obige Schritte:

package main

import (
    "encoding/json"
    "fmt"
)

type PublicKey struct {
    Name string
    Price string
}

func main() {
    jsonStr := `[{"name":"Galaxy Nexus", "price":"3460.00"},{"name":"Galaxy Nexus", "price":"3460.00"}]`

    var keys []PublicKey
    err := json.Unmarshal([]byte(jsonStr), &keys)
    if err == nil {
        for _, key := range keys {
            fmt.Println(key.Name, key.Price)
        }
    } else {
        fmt.Println(err)
    }
}

Ausgabe:

Galaxy Nexus 3460.00
Galaxy Nexus 3460.00

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