Heim >Backend-Entwicklung >Golang >Wie lese ich JSON-Dateien als JSON-Objekte in Go?

Wie lese ich JSON-Dateien als JSON-Objekte in Go?

Barbara Streisand
Barbara StreisandOriginal
2024-11-11 10:19:02805Durchsuche

How to Read JSON Files as JSON Objects in Go?

JSON-Dateien als JSON-Objekte in Go lesen

Um eine JSON-Datei als JSON-Objekt in Go zu lesen, ist es wichtig, das Konzept zu verstehen von Zeigern und Typzusicherung.

Lesen des JSON Datei

plan, err := ioutil.ReadFile(filename)
if err != nil {
    log.Fatal(err)
}

Unmarshaling der Daten

Um das JSON-Objekt zu speichern, benötigen Sie einen Zeiger auf eine Variable, wie in der Go-Dokumentation angegeben :

var data interface{}
if err := json.Unmarshal(plan, &data); err != nil {
    log.Fatal(err)
}

Dies speichert das JSON-Objekt an dem Speicherort, auf den verwiesen wird Daten.

Zugriff auf das JSON-Objekt

Da Daten eine Schnittstelle sind, müssen Sie die Typzusicherung verwenden, um auf die zugrunde liegenden Werte zuzugreifen:

switch data := data.(type) {
case map[string]interface{}:
    // Loop through the map as a JSON object
    for key, value := range data {
        fmt.Println(key, value)
    }
case []interface{}:
    // Loop through the slice as a JSON array
    for _, value := range data {
        fmt.Println(value)
    }
default:
    // Handle other types as needed
}

Marshaling zum Debuggen

Wenn Sie das JSON-Objekt als Zeichenfolge zum Debuggen anzeigen müssen Zu Zwecken können Sie Folgendes verwenden:

jsonString, err := json.Marshal(data)
if err != nil {
    log.Fatal(err)
}
fmt.Println(string(jsonString))

Hinweis:

  • Stellen Sie sicher, dass die JSON-Datei korrekt formatiert ist und gültige JSON-Daten enthält.
  • Verwenden Sie nach Möglichkeit eine bestimmte Datenstruktur zum Füllen Ihres JSON anstelle einer leeren Schnittstelle.

Das obige ist der detaillierte Inhalt vonWie lese ich JSON-Dateien als JSON-Objekte 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