转到模板 HTMLEscape json 数据并显示“””问题

Go template HTMLEscape json data and it show """ issue

我尝试将 json 数据放到网络上,我使用 json.Marshal 创建 json 数据。

流图为fmt.Println(string(jsonOut))结果

我用template.HTMLEscape(w, []byte(jsonOut))在网页上显示,会显示如下图。

" 变成 &#34

为什么它会显示 &#34 以及我该怎么做才能显示 "

template.HTMLEscape 将转义特殊字符。

使用以下代码可以post json 数据到网络

w.Header().Set("Content-Type", "application/json")
w.Write(jsonOut)

参考 https://www.alexedwards.net/blog/golang-response-snippets#json

如果您只想在 http 响应中显示 json

w.Write(jsonOut)

如果要在html

中显示json
t, _ := template.New("foo").Parse(`<head></head><body>{{$.data}}</body>`)   
_ = t.Execute(w, map[string]string{
    "data": string(jsonOut),
})