So drucken Sie von JSON auf golang-Vorlage?
Muss ich ein Objekt in der client-Seite, so dass ich konvertiert zu JSON json.Marschall und druckte es in der Vorlage. Das Objekt wird immer so gedruckt, wie er entkommen JSON-string.
Erwarte ich, dass es var arr=["o1","o2"]
aber es ist var arr="[\"o1\",\"o2\"]"
Ich weiß, ich kann JSON.parse in client-Seite, aber ist das die einzige Möglichkeit?
Hier ist, wie ich Druck mache es in der Vorlage:
{{ marshal .Arr }}
Hier ist mein Marschall-Funktion:
"marshal": func(v interface {}) string {
a, _ := json.Marshal(v)
return string(a)
},
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im JS-Kontext normalen strings immer escapen. Ich hätte umgewandelt
template.JS
geben Sie vor dem drucken.Ref:
http://golang.org/pkg/html/template/#JS
Dies ist der neue Marschall-Funktion:
encodedValue := json.Marshal(complexValue); replaceableValue := template.JS(encodedValue)