Maison >développement back-end >Golang >Quand « json.Unmarshal » génère-t-il une erreur dans Go ?
Quand json.Unmarshal renvoie-t-il une erreur dans Go ?
Dans Go, la fonction json.Unmarshal analyse une chaîne JSON dans une structure , mais cela ne renvoie pas toujours une erreur. Cependant, il renvoie des erreurs dans certaines situations.
Quand il ne renvoie aucune erreur
Le décodeur JSON ne signale généralement pas d'erreur lorsque les valeurs de la source ne le font pas. ne correspondent pas à ceux de la cible. Par exemple, si la source contient un champ nommé « statut » mais que la cible ne le fait pas, aucune erreur n'est générée.
Cas d'erreur
json.Unmarshal renvoie erreurs dans les scénarios suivants :
Exemple de cas d'erreur
type A struct { Name string `json:"name"` } var jsonString string = `{ "status": "false" }'` var a A error := json.Unmarshal([]byte(jsonString), &a) fmt.Println(err) // prints cannot unmarshal bool into Go value of type string
Dans cet exemple, une erreur est générée car le JSON source a un champ "statut" qui est de type booléen, mais la structure cible n'a pas de booléen correspondant champ.
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!