json数据映射到html,在GoLang中将Json数据映射到Html模板
我正在循环我的API响应并将其添加到这样的html模板,
// Following sends same information as above to the browser as html
t, err := template.New("TopMovies").Parse(`
{{define "TopMovies"}}
{{$ImgUrl := "http://image.tmdb.org/t/p/w185" }}
{{range $movies := .Results}}
{{$ImgUrl}}{{$movies.PosterPath}}{{$movies.Adult}}{{$movies.Overview}}{{$movies.ReleaseDate}}{{$movies.GenreIds}}{{$movies.Id}}{{$movies.OriginalTitle}}{{$movies.OriginalLanguage}}{{$movies.Title}}{{$ImgUrl}}{{$movies.BackdropPath}}{{$movies.Popularity}}{{$movies.VoteCount}}{{$movies.Video}}{{$movies.VoteAverage}}
{{end}}
{{end}}
`)
err = t.ExecuteTemplate(w, "T", p) // This writes the client response
}
我的印象是我应该可以在我这样的html模板中调用它,
{{.TopMovies}}
但是当我运行应用程序时,数据不会显示在我调用它的html页面中.我在这里缺少什么?
我创建了这样的结构,
//A Page structure
type Page struct {
Title string
TopMovies string
}
然后我像这样创建我的手柄,
func TopMoviesHandler(w http.ResponseWriter, r *http.Request) {
res, err := http.Get(url)
if err != nil {
panic(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
panic(err)
}
var p Payload
err = json.Unmarshal(body, &p)
if err != nil {
panic(err)
}
// Following sends same information as above to the browser as html
t, err := template.New("TopMovies").Parse(`
{{define "TopMovies"}}
{{$ImgUrl := "http://image.tmdb.org/t/p/w185" }}
{{range $movies := .Results}}
{{$ImgUrl}}{{$movies.PosterPath}}{{$movies.Adult}}{{$movies.Overview}}{{$movies.ReleaseDate}}{{$movies.GenreIds}}{{$movies.Id}}{{$movies.OriginalTitle}}{{$movies.OriginalLanguage}}{{$movies.Title}}{{$ImgUrl}}{{$movies.BackdropPath}}{{$movies.Popularity}}{{$movies.VoteCount}}{{$movies.Video}}{{$movies.VoteAverage}}
{{end}}
{{end}}
`)
err = t.ExecuteTemplate(w, "T", p) // This writes the client response
}
然后在main.go
http.HandleFunc("/TopPicks", TopMoviesHandler)
TopPicks.html
{{define "TopPicks"}}
{{template "header" .}}
{{.TopMovies}}
{{template "footer" .}}
{{end}}
这是什么工作,
func aboutHandler(w http.ResponseWriter, r *http.Request) {
display(w, "about", &Page{Title: "About"})
}
我可以用与前面提到的相同的方式为页面添加标题但是使用display()
并在HTML模板中
{{.Title}}
我怎样才能为json响应做这项工作?
最佳答案 看起来你正在做{{define“body”}},但后来要求ExecuteTemplate执行“T”,它没有在任何地方定义.
我想你想:t.ExecuteTemplate(w,“body”,p)
总而言之,如果您只想使用多个模板,可以通过创建主顶级模板,然后将所有部件解析为子模板来实现.
这是一个例子(on Play).
轻松更改以遍历文件系统并加载所有模板,然后只需执行与http.Request路径匹配的模板.
package main
import "html/template"
import "os"
import "log"
var mainText = `
Normal page stuff
{{ template "_header_" . }}
{{ template "body" . }}
`
var bodyText = `
Body has: {{ .Thing }}
`
var headerText = `
I am header text
`
type Stuff struct {
Thing string
}
func main() {
t := template.New("everything")
// parse all templates you may want
template.Must(t.New("/").Parse(mainText))
template.Must(t.New("_header_").Parse(headerText))
template.Must(t.New("body").Parse(bodyText))
if err := t.ExecuteTemplate(os.Stdout, "/", Stuff{"I am a thing"}); err != nil {
log.Fatal("Failed to execute:", err)
}
}
json数据映射到html,在GoLang中将Json数据映射到Html模板相关推荐
- python 导出大量数据到excel_怎么在python中将大量数据导出到Excel文件
怎么在python中将大量数据导出到Excel文件 发布时间:2021-01-16 11:09:40 来源:亿速云 阅读:76 作者:Leah 这期内容当中小编将会给大家带来有关怎么在python中将 ...
- json字符串导入oracle,如何在Oracle中将JSON字符串转换为JSON
我需要在Oracle查询中将JSON字符串转换为JSON. 示例字符串: {"1":{"qid":1,"aid":1,"a&quo ...
- java json转换xml格式_在Java中将JSON对象转换为XML格式?
JSON是一种轻量级的数据交换格式,并且JSON的格式类似于键值对.我们可以使用org.json.XML类将JSONObject转换为XML格式,这提供了将XML文本转换为JSONObject并将JS ...
- Golang 处理 Json(二):解码
golang 编码 json 还比较简单,而解析 json 则非常蛋疼.不像 PHP 一句 json_decode() 就能搞定.之前项目开发中,为了兼容不同客户端的需求,请求的 content-ty ...
- java json发送文件_关于java:REST API设计在同一请求中将JSON数据和文件发送到api...
我正在现有应用程序之上创建一个RESTAPI.其中一个特性接受JSON数据以及用户上传的文件. 我不确定如何将同一请求中的文件和JSON数据发送到RESTAPI? 我让JSON部件工作,并使用curl ...
- JS中将 JSON 数据转换为 Excel 表格的详细步骤如下:
工作中 后端 那为兄弟 用java把execl的数据转为json格式发我了,他问我能不能用js把josn在转为execl格式 然后 我就开始了 项目地址 下载 xlsx 库 在使用 xlsx 库之前, ...
- 细说Golang的JSON解析
之前一直写一些动态语言,觉得解析JOSN还是很简单的,往往只需要几行代码就能拿到解析好的JSON对象.Go语言自带的json包可以让你在程序中方便的读取和写入 JSON 数据.生成JSON场景相对简单 ...
- 使用基于JSON的实体在C#中缓存远程数据
从GitHub下载最新消息 介绍 除了查询基于JSON / REST的远程服务的简洁方法之外,您通常还需要一种方法来缓存和索引您获取的数据.这对于Web服务尤为重要,因为它们的性质,以及连接服务的延迟 ...
- golang中json.Number妙用
golang中json.Number妙用 最近跟某斯调试一个API接口,接口返回数据是json格式 ,按文档描述是一个整型数据,于是定义如下 type Data struct {Api int `js ...
最新文章
- Qt5.9绘制文字(drawText函数)用法
- _D类、E类、F类冷藏车是什么意思?
- document builder how is document url being generated
- 使用混合多云每个人都应避免的3个陷阱(第4部分)
- nginx 上传文件漏洞_文件上传及解析漏洞
- 区块链教程(四):搭建私链、web3.js基础
- 视觉中国网站部分恢复上线? 官方回应:并没有
- c语言例题 3/100
- vscode-代码文件对比
- 使用javascript、Ajax制作前端拟态风格天气预报功能
- CSS的Border属性 属性 边框 可以 定义 宽度 颜色 CSS solid 类型 文本
- 因特尔显卡自定义分辨率_Win10创建自定义分辨率的方法教程
- 华盛顿大学计算机专业gpa,以未决定专业进入大学再转计算机专业可行吗?
- 23000字,信息流广告分析基础!
- 锁仓怎么解_锁仓后解锁技巧
- openharmony常用网站
- 哥德巴赫猜想“1+1″的证明(李扩继)
- 华为路由交换设备命令集合,建议收藏!
- UI设计师高效切图6大步骤
- springboot生鲜水果商城销售系统