转到模板HTMLEscape json数据,它显示“"”问题

时间:2019-07-18 01:53:23

标签: json go html-escape-characters html-escape

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

流动图片是fmt.Println(string(jsonOut))的结果

enter image description here

我使用template.HTMLEscape(w, []byte(jsonOut))在网络上显示,它将显示如下图。

enter image description here

"变成&#34

为什么它将显示&#34,我该如何显示"

2 个答案:

答案 0 :(得分:1)

如果您只想在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),
})

答案 1 :(得分:0)

template.HTMLEscape将转义特殊字符。

使用以下代码可以将json数据发布到网络

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

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