我有这个模板:
var ListTemplate = `
{
"resources": [
{{ StringsJoin . ", " }}
]
}
`
呈现为:
JoinFunc := template.FuncMap{"StringsJoin": strings.Join}
tmpl := template.Must(template.New("").Funcs(JoinFunc).Parse(ListTemplate))
如果我将其发送到http.ResponseWriter,则输出文本将转义。
var list []string
tmpl.Execute(w, list)
我怎么能这样写一个json?
您不应该使用Go的模板引擎(也不text/template
是html/template
)来生成JSON输出,因为模板引擎不了解JSON语法和规则(转义)。
而是使用encoding/json
包来生成JSON。您可以用来json.Encoder
直接将响应写入/流式传输到io.Writer
,例如http.ResponseWriter
。
例:
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)
}
输出(在Go Playground上尝试):
{"resources":["r1","r2"]}
问题内容: 我在将选项卡中的JSON输出到HTML表时遇到了麻烦(这是javascript / jQuery夜间课程分配的一部分)。请有人看看,并建议我要对表格格式的输出进行哪些修改?我收到成功警报,但表未填充。 谢谢。 和HTML: 问题答案: 代码的主要问题是,在AJAX请求成功完成后,您没有调用任何函数。您至少需要致电才能填充数据。 但是,您可以对代码进行一些改进。首先,删除。这是默认值,并
内容输出方法为:display() 将模板内容输出: $this->display(); //调用默认对应模板
问题内容: 我在理解如何利用docker的–format选项方面遇到一些困难。 例如,如果我运行“ docker images”,则会得到以下信息: 我想以JSON格式获取“ repo1”图像的结果。我找到了以下页面:https : //docs.docker.com/config/formatting/。对于“ json”示例,它提到使用“ go formatting”,但是提供的链接很难建立连
假设在一个在线商店的应用系统中需要一个HTML页面,和下面这个页面类似: <html> <head> <title>Welcome!</title> </head> <body> <h1>Welcome John Doe!</h1> <p>Our latest product: <a href="products/greenmouse.html">green mouse</a>!
模板使用方式 protoc-gen-doc 插件支持模板,可以通过使用不同的模板来定制输出的内容和格式,命令如下: protoc --doc_out=/usr/local/include/dolphin/api.mustache,index.html:../../../target/contract-doc userService.proto 只是简单的将原来 --doc_out=html,* 中
我想有一个字符串的freemarker模板输出。我有一个freemarker模板文件commonTemplate。ftl。 Java代码填充模型并将输出打印到控制台App.java. 它适用于控制台输出。