Maison  >  Article  >  développement back-end  >  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
Linda Hamiltonoriginal
2024-11-02 01:48:31295parcourir

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"])

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"])
}

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:
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