Panique : JSON Unmarshal Array dans Go Struct
Lors de la tentative d'analyse des données d'une API JSON, vous avez rencontré l'erreur : "panique : json : impossible de désorganiser le tableau en valeur Go de type main.Structure." Le problème survient lors de la désorganisation d'un tableau JSON dans une structure Go.
Votre code :
type Structure struct { stuff []interface{} } func main() { // ... decoded := &Structure{} err = json.Unmarshal(body, decoded) }
Résultat attendu :
Vous vous attendiez à ce que le code renvoie une liste d'objets d'interface.
Réel Résultat :
Au lieu de cela, vous avez reçu une erreur indiquant que le tableau JSON n'a pas pu être désorganisé dans la valeur Structure Go.
Solution :
Pour résoudre ce problème, considérez deux approches :
Unmarshal to a Slice :
Remplacez la ligne :
decoded := &Structure{}
par :
var data []interface{}
Cela décomposera le tableau JSON en une tranche de interfaces.
Démarrer vers une tranche de structures :
Créer des structures spécifiques pour la structure de données de réponse. Par exemple :
type Tick struct { ID string Name string Symbol string Rank string Price_USD string }
Ensuite, désassemblez une tranche de ces structures :
var data []Tick err = json.Unmarshal(body, &data)
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!