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

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

使用 gin gonic 返回文字 JSON 的最簡(jiǎn)單方法

使用 gin gonic 返回文字 JSON 的最簡(jiǎn)單方法

Go
翻閱古今 2023-06-26 16:43:28
我正在通過(guò)為 Web 服務(wù)器構(gòu)建一個(gè)簡(jiǎn)單的 API 接口來(lái)學(xué)習(xí) Go。當(dāng)命中默認(rèn)路由時(shí),我想以 JSON 返回一條簡(jiǎn)單的消息。到目前為止,在線(xiàn)閱讀,這是返回文本 JSON 字符串、對(duì)其進(jìn)行編碼并將其發(fā)送給用戶(hù)的最簡(jiǎn)單方法。func GetDefault(c *gin.Context)  {    jsonData := []byte(`{"msg":"this worked"}`)    var v interface{}    json.Unmarshal(jsonData, &v)    data := v.(map[string]interface{})      c.JSON(http.StatusOK,data)}這是最有效/最快的方法嗎?在node.js和express中,我會(huì)做類(lèi)似的事情:return res.status(200).json({"msg":"this worked"});在 Go + Gin 中執(zhí)行此操作的最佳方法是什么?
查看完整描述

2 回答

?
鴻蒙傳說(shuō)

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

一種選擇是使用Context.Data()您提供要發(fā)送的數(shù)據(jù)(以及內(nèi)容類(lèi)型)的位置:

func GetDefault(c *gin.Context)? {

? ? jsonData := []byte(`{"msg":"this worked"}`)


? ? c.Data(http.StatusOK, "application/json", jsonData)

}

您還可以使用內(nèi)容類(lèi)型常量:


func GetDefault(c *gin.Context)? {

? ? jsonData := []byte(`{"msg":"this worked"}`)


? ? c.Data(http.StatusOK, gin.MIMEJSON, jsonData)

}

如果您的數(shù)據(jù)可用作string值并且很大,則可以避免將其轉(zhuǎn)換為:[]byteContext.DataFromReader()

func GetDefault(c *gin.Context) {

? ? jsonStr := `{"msg":"this worked"}`


? ? c.DataFromReader(http.StatusOK,

? ? ? ? int64(len(jsonStr)), gin.MIMEJSON, strings.NewReader(jsonStr), nil)

}

如果您的 JSON 為io.Reader,例如 ,則此解決方案也適用os.File。



查看完整回答
反對(duì) 回復(fù) 2023-06-26
?
qq_花開(kāi)花謝_0

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

gin.H您可以在響應(yīng)中使用該結(jié)構(gòu):

c.JSON(http.StatusOK, gin.H{"msg":"this worked"})


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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