我有一点点qiestion!从json添加到数组并在模板中执行数据
如何从json添加到数组数据并执行模板。简单。但不工作!
package main
import (
"fmt"
"html/template"
"os"
"encoding/json"
)
type Person struct {
Name string
Jobs []*Job
}
type Job struct {
Employer string
Role string
}
const templ = `The name is {{.Name}}.
{{with .Jobs}}
{{range .}}
An employer is {{.Employer}}
and the role is {{.Role}}
{{end}}
{{end}}
`
func main() {
job1 := Job{Employer: "Monash", Role: "Honorary"}
job2 := Job{Employer: "Box Hill", Role: "Head of HE"}
byt := []byte(`{"num":6.13,"Jobs":[{"Employer": "test1", "Role": "test1"},{"Employer": "test2", "Role": "test2"}]}`)
var dat map[string]interface{}
if err := json.Unmarshal(byt, &dat); err != nil {
panic(err)
}
fmt.Println(dat)
// HOW ADD FROM ARRAY 'dat' TO STRUCT 'Job'
// LINE 54
person := Person{
Name: "jan",
Jobs: []*Job{&job1, &job2},
}
t := template.New("Person template")
t, err := t.Parse(templ)
checkError(err)
err = t.Execute(os.Stdout, person)
checkError(err)
}
func checkError(err error) {
if err != nil {
fmt.Println("Fatal error ", err.Error())
os.Exit(1)
}
}
在这里,你可以玩/测试代码:http://play.golang.org/p/AB8hGLrLRy
关注线46
非常感谢您!
这? http://play.golang.org/p/EZJt-y-mMJ – RoninDev
太棒了!这就是我要的!非常感谢你! 小问题一点点;) – Gopher
太棒了!这就是我要的!非常感谢你! 小问题一点点;) 当我从文件读取json。如果我打印json文件:'[{test1 test1}]' 好吧,转换为字节: 'byt:= [] byte(config.Social)' 它的类型如下: '不能转换config.Social(type [ ] struct {Employer string“json:\”url \“”;标题字符串“json:\”Role \“”})键入[] byte' – Gopher