Maison >développement back-end >Golang >Comment afficher une esperluette (&) sans échappement dans la réponse JSON de Go ?

Comment afficher une esperluette (&) sans échappement dans la réponse JSON de Go ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-03 09:40:10445parcourir

How to Display an Ampersand (&) Unescaped in Go's JSON Response?

Gestion de l'affichage des caractères au lieu de l'ASCII

Dans le code Go fourni, le but est d'afficher une esperluette (&) dans un JSON réponse. Cependant, le code actuel entraîne l'échappement de l'esperluette sous la forme "u0026".

Pour résoudre ce problème, nous devons désactiver l'échappement HTML dans l'encodeur JSON. Dans les versions Go antérieures à la 1.7, cela n'était pas possible. Cependant, Go 1.7 a introduit une nouvelle option : Encoder.DisableHTMLEscaping.

Cette option nous permet d'empêcher l'échappement des caractères <, > et & dans Chaînes JSON. Pour utiliser cette option, nous devons la définir sur l'objet encodeur.

enc := json.NewEncoder(os.Stdout)
enc.SetEscapeHTML(false)

Une fois l'échappement HTML désactivé, l'encodeur n'échappera plus au caractère esperluette, ce qui donnera le résultat souhaité :

Affichage du navigateur Chrome :

{
    "key": "&"
}
&

La console affiche également :

{
    "key": "&"
}
&

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!

Déclaration:
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