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

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

使用 http.Request 和 Restangular 在 Go 中查看 JSON POST

使用 http.Request 和 Restangular 在 Go 中查看 JSON POST

Go
慕無忌1623718 2021-08-10 17:15:46
我發(fā)布以下 json 字符串:{'foods':[{'vName':'bean','color':'green','size':'small'},            {'vName':'carrot','color':'orange', 'size':'medium'}]}我正在使用 Restangular 發(fā)布到 Go,接收函數(shù)是:func CreateFoods(w http.ResponseWriter, r *http.Request) {   defer r.Body.Close()   var food Food //this needs to be an array or something?   dec := json.NewDecoder(r.Body)   dec.Decode(&food)}我的食物結(jié)構(gòu):type Food struct{  VName string `json:"vName"`  Color string `json:"color"`  Size string `json:"size"`}我在發(fā)布單個實(shí)體的情況下使用了這個例程,但現(xiàn)在我想發(fā)布多個實(shí)體,但我無法弄清楚如何將此 json 示例映射到多個實(shí)體。另外,我正在嘗試“查看”JSON POST,查看 JSON 字符串,然后如果必須的話,我可以使用該字符串來創(chuàng)建實(shí)體。我不知道如何從 http.Request 獲取 JSON 字符串。
查看完整描述

2 回答

?
小唯快跑啊

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個贊

添加這個:


// You might use lowercase foods since it is maybe not something you want to export

type Foods struct { 

  Foods []Food

}

解碼時使用:


var foods Foods

dec.Decode(&foods)

以字符串形式查看響應(yīng)正文:


bytes, err := ioutil.ReadAll(r.Body)

fmt.Println(string(bytes))

小細(xì)節(jié):在最后兩行之后,您現(xiàn)在可以閱讀正文內(nèi)容。然后,您應(yīng)該不使用 json.NewDecoder 和 Decode 而是使用 json.Unmarshal 來解碼 json。CreateFoods() 的完整示例以防止混淆:


bytes, err := ioutil.ReadAll(r.Body)

if err != nil {

  fmt.Println("error reading body")

  return

}

fmt.Println(string(bytes))

var foods Foods

json.Unmarshal(bytes, &foods)

希望它有效,沒有測試,讓我知道!


查看完整回答
反對 回復(fù) 2021-08-10
  • 2 回答
  • 0 關(guān)注
  • 239 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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