Maison >développement back-end >Golang >Comment puis-je encoder des caractères en JSON sans que l'ASCII ne s'échappe dans Go ?

Comment puis-je encoder des caractères en JSON sans que l'ASCII ne s'échappe dans Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-29 15:29:10180parcourir

How Can I Encode Characters in JSON Without ASCII Escaping in Go?

Encodage de caractères en JSON sans échappement ASCII

Dans ce cas, le but est d'afficher un caractère en JSON sans échappement ASCII. En utilisant Go1.7, l'option Encoder.DisableHTMLEscaping offre une solution.

Échappement en JSON

Généralement, les caractères comme <, > et & sont échappés en JSON avec des séquences comme u003C. Cependant, si ces caractères sont destinés à apparaître sous leur forme originale, l'échappement doit être désactivé.

La méthode SetEscapeHTML

Go1.7 a introduit la méthode SetEscapeHTML, qui accepte un paramètre booléen. Lorsqu'il est défini sur false, l'échappement HTML est désactivé pour l'encodeur.

Exemple d'implémentation

Le code suivant montre comment utiliser la méthode SetEscapeHTML pour désactiver l'échappement HTML :

import "encoding/json"

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

    // Encode a map with an '&' character
    err := enc.Encode(map[string]string{
        "key": "&",
    })
    if err != nil {
        panic(err)
    }
}

En désactivant l'échappement HTML, le caractère '&' sera conservé dans la sortie JSON, obtenant ainsi l'effet souhaité. résultat.

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