Maison > développement back-end > Golang > Pourquoi est-ce que j'obtiens une erreur \'interface conversion: interface {} is []interface {}, not map[string]interface {}\' lors de la conversion d'une interface en carte ?

Pourquoi est-ce que j'obtiens une erreur \'interface conversion: interface {} is []interface {}, not map[string]interface {}\' lors de la conversion d'une interface en carte ?

Linda Hamilton
Libérer: 2024-11-02 01:48:31
original
486 Les gens l'ont consulté

Why am I getting an

Erreur de conversion d'interface : mappage non valide

Une erreur se produit lors de l'analyse JSON lors de la tentative de conversion d'une interface en carte, entraînant le message "conversion d'interface : l'interface {} est []interface {}, pas map[string]interface {}."

Explication

L'erreur indique une inadéquation entre types de données. Dans l'extrait de code fourni, la ligne suivante extrait les résultats de la liste des résultats organiques :

result := fmt.Sprintf("%v", response["organic_results"].(map[string]interface{})["title"])
Copier après la connexion

L'hypothèse est que la réponse["organic_results"] est une carte et que sa valeur doit être convertie en map[string ]interface{} pour accéder à la valeur de titre spécifique. Cependant, le type de données réel de la réponse["organic_results"] est une tranche d'interfaces ([]interface{}), pas une carte.

Solution

Pour résolvez l'erreur, le code doit être corrigé en conséquence :

for _, item := range response["organic_results"].([]interface{}) {
    fmt.Sprintf("%v", item.(map[string]interface{})["title"])
}
Copier après la connexion

Ici, la boucle parcourt chaque élément de la tranche []interface{}, et chaque élément est converti en une map[string]interface{ } pour extraire la valeur du titre.

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!

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