このインスタンスの目標は、ASCII エスケープを使用せずに JSON で文字を表示することです。 Go1.7 を使用すると、Encoder.DisableHTMLEscaping オプションが解決策を提供します。
通常、<、>、& のような文字は、u003C のようなシーケンスを使用して JSON でエスケープされます。ただし、これらの文字を元の形式で表示する場合は、エスケープを無効にする必要があります。
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 サイトの他の関連記事を参照してください。