Comprendre le problème :
Lors de la tentative d'analyse des données à partir d'une API JSON, une erreur inattendue survient : "panique : json : impossible de désorganiser le tableau dans Accédez à la valeur de type main.Structure." Cette erreur indique une inadéquation entre les données JSON et la structure Go définie.
Identification de l'écart :
En examinant le code, il devient évident que le type Structure attend un tableau d'objets interface{} comme champ 'stuff'. Cependant, les données JSON analysées sont un tableau lui-même, et non un tableau d'objets d'interface{}.
Solution 1 : Dégrouper en une tranche
Pour résoudre l'incompatibilité , il est recommandé de désorganiser le tableau JSON en une tranche d'objets interface{}. De cette façon, la structure du tableau JSON est préservée dans le code Go :
var data []interface{} err = json.Unmarshal(body, &data)
Solution 2 : Définir des champs de structure spécifiques
Alternativement, si les données de réponse JSON ont une structure cohérente, envisagez de définir une structure Go qui correspond aux champs exacts présents dans la réponse. Cela permet un processus de démarshalling plus structuré et plus sûr :
type Tick struct { ID string Name string Symbol string Rank string Price_USD string ... and so on } var data []Tick err = json.Unmarshal(body, &data)
En employant l'une ou l'autre de ces approches, l'application peut analyser avec succès les données JSON et éviter l'erreur « Impossible de démarshaler le tableau en valeur Go ».
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!