Maison > développement back-end > Golang > Pourquoi JSON Unmarshal échoue-t-il lors du mappage de tableaux vers des structures Go ?

Pourquoi JSON Unmarshal échoue-t-il lors du mappage de tableaux vers des structures Go ?

Mary-Kate Olsen
Libérer: 2024-11-30 09:12:17
original
978 Les gens l'ont consulté

Why Does JSON Unmarshal Fail When Mapping Arrays to Go Structs?

Impossible de désassembler le tableau JSON dans la structure Go

Lors d'une tentative d'analyse des données d'une API JSON, un programmeur a rencontré l'erreur : " panique : json : impossible de désorganiser le tableau en valeur Go de type main.Structure."

Extrait du problème :

type Structure struct {
        stuff []interface{}
}

...

decoded := &Structure{}
err = json.Unmarshal(body, decoded)
Copier après la connexion

Résultat attendu :

Une liste d'objets d'interface.

Réel Résultat :

panique : json : impossible de désorganiser le tableau dans une valeur Go de type main.Structure

Solution :

Le problème se pose lorsque essayer de désorganiser un tableau JSON dans une structure Go. Pour résoudre ce problème, on peut soit :

  • Unmarshal in a Slice :
var data []interface{}
err = json.Unmarshal(body, &data)
Copier après la connexion
  • Unmarshal into a Slice de Structs :
type Tick struct {
     ID string
     Name string
     ... and so on
}

var data []Tick
err = json.Unmarshal(body, &data)
Copier après la connexion

En personnalisant le struct pour correspondre à la structure des données de réponse, le processus de démarshalage analysera avec succès le tableau JSON.

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!

source:php.cn
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