Maison >développement back-end >Golang >Pourquoi « json : impossible de regrouper le tableau en valeur Go de type main.Structure » se produit-il et comment puis-je y remédier ?
Désagrégation des tableaux et des types de structure
Lorsque vous tentez d'analyser des données JSON dans une structure, il est crucial de garantir la compatibilité entre la structure des données et le type de cible. Le message d'erreur suivant :
panic: json: cannot unmarshal array into Go value of type main.Structure
indique que l'application tente de désorganiser un tableau de JSON dans une structure qui attend un type différent.
Pour résoudre ce problème, envisagez les solutions suivantes :
Si les données JSON sont un tableau d'objets, désorganisez-les en une tranche d'interface{} ou une tranche de structures spécifiques en fonction de la structure de vos données JSON :
var data []interface{} err = json.Unmarshal(body, &data) // Unmarshal to specific structs: type Tick struct { ID string Name string ... } var data []Tick err = json.Unmarshal(body, &data)
Si vous devez conserver la structure existante, pensez à modifier son type de champ pour accepter un tableau :
type Structure struct { stuff [][]interface{} // Change to a slice of slices }
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!