我有一點點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