Maison > développement back-end > Golang > Comment résoudre l'erreur « caractère invalide » recherche du début de la valeur » dans json.Unmarshal de Golang ?

Comment résoudre l'erreur « caractère invalide » recherche du début de la valeur » dans json.Unmarshal de Golang ?

Mary-Kate Olsen
Libérer: 2024-11-30 18:10:15
original
294 Les gens l'ont consulté

How to Resolve the

Erreur "caractère invalide 'ï' recherchant le début de la valeur" lors de l'utilisation de json.Unmarshal

Lors de la tentative d'analyse des données JSON reçues de une requête HTTP utilisant la fonction json.Unmarshal de Golang, l'erreur suivante peut se produire :

"invalid character 'ï' looking for beginning of value"
Copier après la connexion

Cette erreur se produit généralement lorsque la réponse JSON contient un caractère Byte Order Mark (BOM). Une nomenclature identifie l'encodage d'un fichier texte et doit être supprimée avant le décodage.

Pour résoudre ce problème, le caractère BOM peut être supprimé de la réponse JSON à l'aide du code suivant :

body := bytes.TrimPrefix(body, []byte("\xef\xbb\xbf")) // Or []byte{239, 187, 191}
Copier après la connexion

Une fois le caractère BOM supprimé, la réponse JSON peut être désorganisée dans une structure de données comme prévu.

Par exemple, le code suivant peut être modifié pour gérer une réponse JSON avec une nomenclature :

body, err := ioutil.ReadAll(response.Body)
defer response.Body.Close()
if err != nil {
    return "", tracerr.Wrap(err)
}

// Remove BOM
body = bytes.TrimPrefix(body, []byte("\xef\xbb\xbf"))

transTransform = TransformTextResponse{}
err = json.Unmarshal(body, &transTransform)
if err != nil {
   return "", tracerr.Wrap(err)
}
Copier après la connexion

En supprimant le caractère BOM avant d'analyser la réponse JSON, l'erreur sera résolue et la structure des données pourra être désorganisée avec succès.

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