首頁 >後端開發 >Golang >如何在 Go 範本中處理 HTML 和 JSON 插入而不逃避問題?

如何在 Go 範本中處理 HTML 和 JSON 插入而不逃避問題?

DDD
DDD原創
2024-10-29 06:45:30758瀏覽

How to Handle HTML and JSON Insertion in Go Templates Without Escaping Issues?

在Go 範本中處理HTML 和JSON 插入

將HTML 或JSON 插入Go 範本可能會導致轉義和其他輸出格式問題。為了確保預期的輸出,請遵循以下準則:

插入 HTML:

使用 template.HTML 而不是字串以防止轉義。範例:

<code class="go">tplVars := map[string]interface{}{
    "Html": template.HTML("<p>Paragraph</p>"),
}</code>

插入 JSON:

將 JSON 資料傳遞為 interface{} 值。範例:

<code class="go">type Data struct {
    Html  string
    Json  interface{}
}</code>

在範本中:

<code class="go">{{.Data.Html}} {{.Data.Json}}</code>

附加說明:

  • 使用template.HTML 保留HTML 實體並保留確保正確渲染。
  • 直接將 JSON 資料作為介面傳遞{}可以防止不必要的類型轉換和自動轉義。
  • 請參閱提供的連結以取得可運行的範例:https://play.golang .org/p/QKKpQJ7gIs

以上是如何在 Go 範本中處理 HTML 和 JSON 插入而不逃避問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn