亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

需要幫助使用 Go 更新 JSON 負載

需要幫助使用 Go 更新 JSON 負載

Go
飲歌長嘯 2023-07-10 16:26:27
我是一名新手,嘗試創建一個 Golang 腳本,該腳本從一個端點讀取,然后更新一些字段并將其發布到不同的端點。對端點的 PUT 請求將此作為curl 命令。curl -v \     -X PUT -H 'X-Api-Key:{Key}' \     -H 'Content-Type: application/json' url/{id} \     -d '{ "name" : "Somename", "type": "Sometype", "status" : "enabled"}'我希望與發送 GET 請求的端點保持相同的名稱和類型,但我希望在發布到其他端點時將狀態從啟用更改為禁用。因此,基本上我從一個端點獲得的任何結果都將保持不變,除了我需要更改為禁用的狀態。任何示例代碼都會有所幫助。這是我到目前為止的代碼,但它只是用于讀取端點。所以不確定如何將兩者結合起來。func main() {   req, _ := http.NewRequest("GET", "URL", nil)   req.Header.Set("X-Api-Key", <Key>)   resp, _ := http.DefaultClient.Do(req)   defer resp.Body.Close()   body, _ := ioutil.ReadAll(resp.Body)   var obj struct {       Library []struct {           Name     string `json:"name"`           Type      string `json:”type”`           Status      string `json:”status"`       } `json:”library"`   }   if err := json.Unmarshal(body, &obj); err != nil {       panic(err)   }   for _, app := range obj.Library {       fmt.Println(app.Name, app.Type, app.Status)   }}
查看完整描述

1 回答

?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

您已經快完成了,只需循環遍歷庫項目、更新狀態并執行 http put 請求即可。


像這樣的東西應該有效(未經測試):


for _, item := range obj.Library {

  item.Status = "disabled"

  bs, err := json.Marshal(item)

  // check err

  req, err := http.NewRequest("PUT", "url", bytes.NewBuffer(bs)) 

  // check err

  res, err := http.DefaultClient.Do(req)

  // check err

  // check res.StatusCode

}


查看完整回答
反對 回復 2023-07-10
  • 1 回答
  • 0 關注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號