Maison > développement back-end > Golang > Comment réparer « json : impossible de désorganiser le tableau en valeur Go de type main.Structure » ?

Comment réparer « json : impossible de désorganiser le tableau en valeur Go de type main.Structure » ?

Susan Sarandon
Libérer: 2024-11-29 01:46:09
original
911 Les gens l'ont consulté

How to Fix

Comment désorganiser un tableau JSON dans une structure Go

Lorsque vous essayez d'analyser les données JSON à partir d'une API, les utilisateurs peuvent rencontrer l'erreur : "panique : json : impossible de désorganiser tableau en valeur Go de type main.Structure."

Extrait de code avec le Problème

type Structure struct {
     stuff []interface{}
}

... // more code

decoded := &Structure{}
err = json.Unmarshal(body, decoded)
Copier après la connexion

Problème

La racine du problème est la tentative de désassembler un tableau JSON dans une structure Go.

Solution

Option 1 : Unmarshal en une tranche

Au lieu d'utiliser une structure, désassembler le tableau JSON en une tranche d'interface{} :

var data []interface{}
err = json.Unmarshal(body, &data)
Copier après la connexion

Option 2 : désassembler en une tranche de structures

Si les données JSON ont une structure spécifique , pensez à créer une tranche de structures qui correspondent aux données de réponse :

type Tick struct {...}
var data []Tick
err = json.Unmarshal(body, &data)
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal