Maison > développement back-end > Golang > Comment empêcher les réponses JSON d'afficher des codes ASCII au lieu de caractères ?

Comment empêcher les réponses JSON d'afficher des codes ASCII au lieu de caractères ?

Patricia Arquette
Libérer: 2024-11-28 15:22:10
original
427 Les gens l'ont consulté

How to Prevent JSON Responses from Displaying ASCII Codes Instead of Characters?

Comment afficher des caractères au lieu d'ASCII dans les réponses JSON

Dans cette question de programmation, un utilisateur rencontre un problème où les données JSON contenant un l'esperluette "&" est affichée avec son code ASCII "u0026" au lieu du code réel caractère.

Résolution du problème :

La solution fournie implique l'utilisation d'une fonctionnalité introduite dans Go1.7. En désactivant l'échappement HTML dans l'encodeur JSON, le caractère esperluette peut être conservé tel quel dans les données JSON.

Implémentation à l'aide d'Encoder.DisableHTMLescaping :

Pour désactiver HTML Pour vous échapper, utilisez la méthode Encoder.DisableHTMLEscaping. Cette méthode définit le champ EscapeHTML de l'encodeur sur false, désactivant ainsi l'échappement des caractères HTML.

encoder := json.NewEncoder(responseWriter)
encoder.SetEscapeHTML(false)
Copier après la connexion

En modifiant le code avec cette méthode, le serveur HTTP affichera désormais le caractère esperluette sans aucune conversion ASCII. . Voici la version modifiée de la fonction testFunc :

func testFunc(w http.ResponseWriter, r *http.Request) {
    data := make(map[string]string)
    data["key"] = "&"

    encoder := json.NewEncoder(w)
    encoder.SetEscapeHTML(false)

    if err := encoder.Encode(data); err != nil {
        fmt.Fprintln(w, "Failed to generate JSON.")
    }
}
Copier après la connexion

Maintenant, le navigateur et la console afficheront le caractère esperluette comme prévu, sans aucune conversion ASCII.

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