第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 html 模板解組結(jié)構(gòu)?

如何使用 html 模板解組結(jié)構(gòu)?

Go
翻閱古今 2022-05-05 18:05:07
我正在嘗試將 JSON 解組到我的 Mail 結(jié)構(gòu),但 Go 在解析 html_tmpl 和 text_tmpl 字段時返回錯誤。我怎么解決這個問題?HtmlTmpl 字段來自:html, err := template.ParseFiles(pathToHTMLFile)這是您可以測試的基本示例package mainimport (    "encoding/json"    "fmt"    "html/template"    "time")type Mail struct {    Id       string            `json:"id"`    Subject  string            `json:"subject"`    From     string            `json:"from"`    To       string            `json:"to"`    Date     time.Time         `json:"date"`    HtmlTmpl template.Template `json:"html_tmpl"`    TextTmpl template.Template `json:"text_tmpl"`    Context  map[string]string `json:"context"`}func main() {  mail := &Mail{}  s := `{"id":"","subject":"Test mail","from":"support@example.com","to":"user@gmail.com","date":"0001-01-01T00:00:00Z","html_tmpl":{"Tree":{"Name":"template.html","ParseName":"template.html","Root":{"NodeType":11,"Pos":0,"Nodes":[{"NodeType":0,"Pos":0,"Text":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InJ1Ij4KPGhlYWQ+Cgk8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbCIgY2hhcnNldD0iVVRGLTgiPgoJPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbD0xIj4KCTxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+Cgk8dGl0bGU+0J/RgNC+0LLQtdGA0LrQsCDRgdCy0Y/Qt9C4PC90aXRsZT4KPC9oZWFkPgo8Ym9keT4KCTxzcGFuPg=="},{"NodeType":1,"Pos":298,"Line":10,"Pipe":{"NodeType":14,"Pos":298,"Line":10,"IsAssign":false,"Decl":null,"Cmds":[{"NodeType":4,"Pos":298,"Args":[{"NodeType":8,"Pos":298,"Ident":["msg"]}]}]}},{"NodeType":0,"Pos":305,"Text":"PC9zcGFuPgo8L2JvZHk+CjwvaHRtbD4="}]}}},"text_tmpl":{"Tree":{"Name":"template.txt","ParseName":"template.txt","Root":{"NodeType":11,"Pos":0,"Nodes":[{"NodeType":1,"Pos":2,"Line":1,"Pipe":{"NodeType":14,"Pos":2,"Line":1,"IsAssign":false,"Decl":null,"Cmds":[{"NodeType":4,"Pos":2,"Args":[{"NodeType":8,"Pos":2,"Ident":["msg"]}]}]}}]}}},"context":{"msg":"Hi!"}}`  err := json.Unmarshal([]byte(s), mail)  fmt.Println(err)  fmt.Println(mail)}
查看完整描述

1 回答

?
蕪湖不蕪

TA貢獻(xiàn)1796條經(jīng)驗 獲得超7個贊

template.Template不支持從 JSON 編組/解組。它是一個帶有未導(dǎo)出字段的結(jié)構(gòu),并且它沒有實現(xiàn)處理封送/解封邏輯的接口(例如json.Unmarshaler)。

您應(yīng)該做的是在您的 JSON 和結(jié)構(gòu)中包含源模板文本,并在解組源模板文本后,將其解析為后處理步驟。如果你想編組一個包含模板的結(jié)構(gòu),它應(yīng)該只包含源模板文本(template.Template字段應(yīng)該被標(biāo)記為省略,如json:"-")。


查看完整回答
反對 回復(fù) 2022-05-05
  • 1 回答
  • 0 關(guān)注
  • 180 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號