我正在發(fā)出一個 JSON GET 請求,我現(xiàn)在正試圖將數(shù)據(jù)傳遞給我的模板以在 HTML 中呈現(xiàn)。使用 Python 我可以直接傳遞響應(yīng),但是使用 Go 我想我需要使用結(jié)構(gòu)來重構(gòu) JSON?// index route http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { resp, err := http.Get("https://example.com/json") if err != nil { panic(err.Error()) } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { panic(err.Error()) } log.Println(string(body)) err = tmpl.ExecuteTemplate(w, "index.html", body) if err != nil { panic("Oh no!") } })我是否需要通過 JSON 并手動構(gòu)建一個結(jié)構(gòu)來處理它,或者是否有一種簡單的方法來傳遞數(shù)據(jù)?
1 回答

大話西游666
TA貢獻1817條經(jīng)驗 獲得超14個贊
此答案假定您希望傳遞未編組的 JSON 數(shù)據(jù),而不是原始數(shù)據(jù)塊。
您可以簡單地將 JSON 解組為 a map[string]interface{},然后將其傳遞給模板。
它看起來像這樣:
var data map[string]interface{}
if err := json.Unmarshal([]byte(rawJSON), &data); err != nil {
// Handle error.
}
if err := tmpl.Execute(os.Stdout, data); err != nil {
// Handle error.
}
- 1 回答
- 0 關(guān)注
- 121 瀏覽
添加回答
舉報
0/150
提交
取消