Behebung des Fehlers: „Ungültiger Vorgang: d[„Daten“] (Typschnittstelle {} unterstützt keine Indizierung)“
angetroffen beim Zugriff auf verschachtelte JSON-Daten in Golang.
Beim Arbeiten mit dynamischen JSON-Antworten kommt es nicht selten vor, dass der Fehler „Ungültiger Vorgang:
To Um dieses Problem zu lösen, müssen Sie zunächst sicherstellen, dass die Variable d typmäßig als Map[string]interface{} bestätigt wird, wie unten gezeigt:
<code class="go">test := d.(map[string]interface{})["data"].(map[string]interface{})["type"]</code>
Mit dieser Behauptung geben Sie ausdrücklich an, dass d ist vom Typ „map[string]interface{}“ und ermöglicht Ihnen den Zugriff auf seine Schlüssel. Anschließend können Sie auf die „Daten“ zugreifen und die Eigenschaft „Typ“ aus der verschachtelten Karte abrufen.
Als alternativen Ansatz können Sie d auch direkt als Map[string]interface{} deklarieren:
<code class="go">var d map[string]interface{} json.NewDecoder(response.Body).Decode(&d) test := d["data"].(map[string]interface{})["type"]</code>
Auf diese Weise entfällt die Notwendigkeit der ersten Typzusicherung.
Um diese Vorgänge zu unterstützen, sollten Sie die Bibliothek github.com/icza/dyno verwenden, die auf die Handhabung von Dynamik spezialisiert ist Objekte und bietet praktische Methoden zum Navigieren und Bearbeiten von JSON-Daten.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit dem Fehler „ungültige Operation: d[\\\'data\\\'] (Typschnittstelle {} unterstützt keine Indizierung) in Golang beim Zugriff auf verschachtelte JSON-Daten um?'. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!