Heim >Backend-Entwicklung >Golang >Wie gehe ich mit dem Einfügen von HTML und JSON in Go-Vorlagen um, ohne dass es zu Problemen kommt?

Wie gehe ich mit dem Einfügen von HTML und JSON in Go-Vorlagen um, ohne dass es zu Problemen kommt?

DDD
DDDOriginal
2024-10-29 06:45:30757Durchsuche

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

Handhabung von HTML- und JSON-Einfügungen in Go-Vorlagen

Das Einfügen von HTML oder JSON in Go-Vorlagen kann zu Escapezeichen und anderen Problemen bei der Ausgabeformatierung führen. Um die beabsichtigte Ausgabe sicherzustellen, befolgen Sie diese Richtlinien:

HTML einfügen:

Verwenden Sie template.HTML anstelle von Zeichenfolgen, um Escapezeichen zu verhindern. Beispiel:

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

JSON einfügen:

JSON-Daten als Schnittstellenwert{} übergeben. Beispiel:

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

In der Vorlage:

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

Zusätzliche Hinweise:

  • Bei Verwendung von template.HTML bleiben HTML-Entitäten erhalten und sorgt für eine ordnungsgemäße Darstellung.
  • Die direkte Übergabe von JSON-Daten als Schnittstelle{} verhindert unnötige Typkonvertierung und automatisches Escapen.
  • Ein ausführbares Beispiel finden Sie unter dem bereitgestellten Link: https://play.golang .org/p/QKKpQJ7gIs

Das obige ist der detaillierte Inhalt vonWie gehe ich mit dem Einfügen von HTML und JSON in Go-Vorlagen um, ohne dass es zu Problemen kommt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn