佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > gin 獲取post請(qǐng)求的json body操作

gin 獲取post請(qǐng)求的json body操作

熱門標(biāo)簽:呼叫中心市場(chǎng)需求 百度競(jìng)價(jià)排名 Linux服務(wù)器 服務(wù)外包 網(wǎng)站排名優(yōu)化 AI電銷 地方門戶網(wǎng)站 鐵路電話系統(tǒng)

我就廢話不多說(shuō)了,大家還是直接看代碼吧~

代碼如下

type KDRespBody struct {
   Errcode int `json:"errcode"`
   Desc string `json:"description"`
   Data []services.KdSearchBack `json:"data"`
}
var reqInfo KDRespBody
err := c.BindJSON(reqInfo)
if err != nil {
   log.Info(err)
   c.JSON(200, gin.H{"errcode": 400, "description": "Post Data Err"})
   return
} else {
  fmt.Println(reqInfo.Data)
}

補(bǔ)充:使用gin接受post的json數(shù)據(jù)

第一種

func Login(c *gin.Context) {
 json := make(map[string]interface{}) //注意該結(jié)構(gòu)接受的內(nèi)容
 c.BindJSON(json)
 log.Printf("%v",json)
 c.JSON(http.StatusOK, gin.H{
 "name": json["name"],
 "password": json["password"],
 })
}

第二種

type User struct {
 Name string `json:"name"`
 Password int64 `json:"password"`
}
func Login(c *gin.Context) {
 json := User{}
 c.BindJSON(json)
 log.Printf("%v",json)
 c.JSON(http.StatusOK, gin.H{
 "name": json.Name,
 "password": json.Password,
 })
}

補(bǔ)充:golang json數(shù)據(jù)解析錯(cuò)誤情況

byte數(shù)組接收網(wǎng)絡(luò)數(shù)據(jù)完網(wǎng)絡(luò)數(shù)據(jù)后,需要根據(jù)接收到的長(zhǎng)度進(jìn)行重新分片,才能被json進(jìn)行解析,不然會(huì)報(bào)錯(cuò)。

  for {
 len1, err := resp.Body.Read(data)
 if len1 > 0 {
 data1 := data[:len1] //需要根據(jù)接收到的長(zhǎng)度進(jìn)行重新分片
 err1 := json.Unmarshal(data1, rec_rep)
 if err1 != nil {
  fmt.Println("json.Unmarshal failed")
 }
 }
 if err != nil {
 break
 }
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • js實(shí)現(xiàn)axios限制請(qǐng)求隊(duì)列
  • JavaScript如何利用Promise控制并發(fā)請(qǐng)求個(gè)數(shù)
  • 利用js實(shí)現(xiàn)Ajax并發(fā)請(qǐng)求限制請(qǐng)求數(shù)量的示例代碼
  • JS 實(shí)現(xiàn)請(qǐng)求調(diào)度器
  • PHP實(shí)現(xiàn)chrome表單請(qǐng)求數(shù)據(jù)轉(zhuǎn)換為接口使用的json數(shù)據(jù)
  • JavaScript 中斷請(qǐng)求幾種方案詳解

標(biāo)簽:崇左 湘潭 衡水 仙桃 銅川 蘭州 湖南 黃山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《gin 獲取post請(qǐng)求的json body操作》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    淮安市| 常熟市| 鹤岗市| 峡江县| 珲春市| 鄱阳县| 赣榆县| 柞水县| 木兰县| 墨竹工卡县| 朝阳区| 綦江县| 靖宇县| 延寿县| 衡阳市| 昭通市| 大港区| 高尔夫| 保定市| 连江县| 栾川县| 寿宁县| 荥阳市| 文昌市| 花垣县| 东海县| 徐水县| 遂宁市| 石台县| 高邑县| 咸阳市| 慈溪市| 黔南| 平江县| 杨浦区| 皋兰县| 高密市| 云龙县| 托克托县| 黎川县| 通山县|