ホームページ > バックエンド開発 > Golang > Go で ASCII エスケープを使用せずに JSON で文字をエンコードするにはどうすればよいですか?

Go で ASCII エスケープを使用せずに JSON で文字をエンコードするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-29 15:29:10
オリジナル
177 人が閲覧しました

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

ASCII エスケープを使用せずに JSON で文字をエンコードする

このインスタンスの目標は、ASCII エスケープを使用せずに JSON で文字を表示することです。 Go1.7 を使用すると、Encoder.DisableHTMLEscaping オプションが解決策を提供します。

JSON でのエスケープ

通常、<、>、& のような文字は、u003C のようなシーケンスを使用して JSON でエスケープされます。ただし、これらの文字を元の形式で表示する場合は、エスケープを無効にする必要があります。

SetEscapeHTML メソッド

Go1.7 では、ブール値パラメータを受け入れる SetEscapeHTML メソッドが導入されました。 false に設定すると、エンコーダの HTML エスケープが無効になります。

実装例

次のコードは、SetEscapeHTML メソッドを使用して 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)
    }
}
ログイン後にコピー

HTML エスケープを無効にすると、「&」文字が JSON 出力に保持され、目的の結果が得られます。結果。

以上がGo で ASCII エスケープを使用せずに JSON で文字をエンコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート