Maison >développement back-end >Golang >Comment réparer « Marque d'ordre d'octets UTF-8 non valide dans la réponse JSON » de Microsoft Translator ?
Marque d'ordre d'octet UTF-8 non valide dans la réponse JSON
Lorsque vous utilisiez JSON pour décoder une réponse de Microsoft Translator, vous avez rencontré une erreur indiquant caractères invalides. Le message JSON contenait une marque d'ordre d'octets (BOM) Unicode, représentée par le caractère ï' (code ASCII 239), qui provoquait des problèmes lors du déclassement.
Comprendre les marques d'ordre d'octets
Une nomenclature Unicode est une séquence de caractères spéciaux qui identifie l'encodage d'un fichier texte. Cependant, cela n'est pas nécessaire pour les réponses JSON et peut entraîner des complications lors du décodage.
Résoudre le problème
Pour gérer l'erreur de caractère non valide, vous devez supprimer la nomenclature à partir de la réponse avant de désorganiser les données JSON. Ceci peut être réalisé en utilisant le code suivant :
body = bytes.TrimPrefix(body, []byte("\xef\xbb\xbf")) // Or []byte{239, 187, 191}
Cette ligne supprime la nomenclature du début du corps de la réponse si elle existe, vous permettant de désorganiser correctement les données JSON.
Remarque : Le message d'erreur "Caractère invalide ï' recherche de début de valeur" implique que la nomenclature a été interprétée comme un caractère ISO-8859-1, ce qui a entraîné en caractères invalides apparaissant dans le JSON décodé.
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!