Heim > Backend-Entwicklung > Golang > Wie kann „json: Array kann nicht in Go-Wert vom Typ main.Structure entmarshaliert werden' behoben werden?

Wie kann „json: Array kann nicht in Go-Wert vom Typ main.Structure entmarshaliert werden' behoben werden?

Susan Sarandon
Freigeben: 2024-11-29 01:46:09
Original
911 Leute haben es durchsucht

How to Fix

So entmarshalieren Sie ein JSON-Array in eine Go-Struktur

Beim Versuch, JSON-Daten von einer API zu analysieren, stoßen Benutzer möglicherweise auf den Fehler: „Panic: JSON: Unmarshaling nicht möglich.“ Array in Go-Wert vom Typ main.Structure.“

Code-Snippet mit dem Problem

type Structure struct {
     stuff []interface{}
}

... // more code

decoded := &Structure{}
err = json.Unmarshal(body, decoded)
Nach dem Login kopieren

Problem

Die Ursache des Problems ist der Versuch, ein JSON-Array in eine Go-Struktur zu entmarshalieren.

Lösung

Option 1: Unmarshalieren zu einem Slice

Anstatt eine Struktur zu verwenden, Unmarshalieren Sie das JSON-Array in ein Segment der Schnittstelle{}:

var data []interface{}
err = json.Unmarshal(body, &data)
Nach dem Login kopieren

Option 2: Unmarshalieren Sie es in ein Segment von Strukturen

Wenn die JSON-Daten eine bestimmte Struktur haben Erwägen Sie die Erstellung eines Segments von Strukturen, die mit den Antwortdaten übereinstimmen:

type Tick struct {...}
var data []Tick
err = json.Unmarshal(body, &data)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann „json: Array kann nicht in Go-Wert vom Typ main.Structure entmarshaliert werden' behoben werden?. 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