在本例中,目标是在不使用 ASCII 转义的情况下显示 JSON 中的字符。使用 Go1.7,Encoder.DisableHTMLEscaping 选项提供了一个解决方案。
通常,像 <、> 和 & 这样的字符在 JSON 中会使用像 u003C 这样的序列进行转义。但是,如果这些字符打算以其原始形式出现,则需要禁用转义。
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中文网其他相关文章!