ASCII の代わりに文字表示を処理する
提供された Go コードの目標は、JSON でアンパサンド文字 (&) を表示することです。応答。ただし、現在のコードではアンパサンドが「u0026」としてエスケープされます。
これに対処するには、JSON エンコーダーで HTML エスケープを無効にする必要があります。 1.7 より前の Go バージョンでは、これは不可能でした。ただし、Go 1.7 では、新しいオプション Encoder.DisableHTMLEscaping.
このオプションを使用すると、<、>、および & 文字のエスケープを防ぐことができます。 JSON 文字列。このオプションを使用するには、エンコーダ オブジェクトに設定する必要があります。
enc := json.NewEncoder(os.Stdout) enc.SetEscapeHTML(false)
HTML エスケープが無効になると、エンコーダはアンパサンド文字をエスケープしなくなり、目的の出力が得られます。
Chrome ブラウザの表示:
{ "key": "&" } &
コンソールでも表示:
{ "key": "&" } &
以上がGo の JSON 応答でアンパサンド (&) をエスケープせずに表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。