i\'ve this template:
var ListTemplate = `
{
\"resources\": [
{{ StringsJoin . \", \" }}
]
}
`
rendered with:
You shouldn't use Go's template engine (neither text/template nor html/template) to generate JSON output, as the template engine has no knowledge of JSON syntax and rules (escaping).
Instead use the encoding/json package to generate JSON. You may use json.Encoder to write / stream the response directly to an io.Writer, such as http.ResponseWriter.
Example:
type Output struct {
Resources []string `json:"resources"`
}
obj := Output{
Resources: []string{"r1", "r2"},
}
enc := json.NewEncoder(w)
if err := enc.Encode(obj); err != nil {
// Handle error
fmt.Println(err)
}
Outputs (try it on the Go Playground):
{"resources":["r1","r2"]}