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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

使用模板將 json 輸出到 http.ResponseWriter

使用模板將 json 輸出到 http.ResponseWriter

Go
DIEA 2023-06-12 16:31:36
我有這個(gè)模板:var ListTemplate = `{    "resources": [        {{ StringsJoin . ", " }}    ]  }`呈現(xiàn):JoinFunc := template.FuncMap{"StringsJoin": strings.Join}tmpl := template.Must(template.New("").Funcs(JoinFunc).Parse(ListTemplate))如果我將它發(fā)送到 http.ResponseWriter 輸出文本被轉(zhuǎn)義。var list []stringtmpl.Execute(w, list)我怎么能這樣寫一個(gè)json?
查看完整描述

1 回答

?
蕪湖不蕪

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

你不應(yīng)該使用 Go 的模板引擎(既不是text/template也不是html/template)來生成 JSON 輸出,因?yàn)槟0逡娌恢?JSON 語法和規(guī)則(轉(zhuǎn)義)。

而是使用encoding/json包生成 JSON。您可以使用json.Encoder將響應(yīng)直接寫入/流式傳輸?shù)?code>io.Writer,例如http.ResponseWriter。

例子:

type Output struct {

? ? Resources []string `json:"resources"`

}


obj := Output{

? ? Resources: []string{"r1", "r2"},

}


enc := json.NewEncoder(w)


if err := enc.Encode(obj); err != nil {

? ? // Handle error

? ? fmt.Println(err)

}

輸出(在Go Playground上嘗試):

{"resources":["r1","r2"]}


查看完整回答
反對(duì) 回復(fù) 2023-06-12
  • 1 回答
  • 0 關(guān)注
  • 171 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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