最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2021年03月15日 11:38:50   作者:風(fēng)一樣的男子1  
這篇文章主要介紹了gin 獲取post請(qǐng)求的json body操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

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

代碼如下

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ò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • Go語言中rune方法使用詳解

    Go語言中rune方法使用詳解

    本文主要介紹了Go語言中rune方法使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • go modules中replace使用方法

    go modules中replace使用方法

    這篇文章主要為大家介紹了go modules中replace使用方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Go 中燒腦的接口及空接口

    Go 中燒腦的接口及空接口

    在Go語言的實(shí)際編程中,幾乎所有的數(shù)據(jù)結(jié)構(gòu)都圍繞接口展開,接口是Go語言中所有數(shù)據(jù)結(jié)構(gòu)的核心,這篇文章主要介紹了Go 中燒腦的接口,需要的朋友可以參考下
    2024-02-02
  • Golang 獲取系統(tǒng)信息的實(shí)現(xiàn)

    Golang 獲取系統(tǒng)信息的實(shí)現(xiàn)

    本文主要介紹了Golang 獲取系統(tǒng)信息的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Golang import 導(dǎo)入包語法及一些特殊用法詳解

    Golang import 導(dǎo)入包語法及一些特殊用法詳解

    這篇文章主要介紹了Golang import 導(dǎo)入包語法及一些特殊用法,需要的朋友可以參考下
    2020-02-02
  • golang 兩個(gè)go程輪流打印一個(gè)切片的實(shí)現(xiàn)

    golang 兩個(gè)go程輪流打印一個(gè)切片的實(shí)現(xiàn)

    這篇文章主要介紹了golang 兩個(gè)go程輪流打印一個(gè)切片的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Golang異常處理之defer,panic,recover的使用詳解

    Golang異常處理之defer,panic,recover的使用詳解

    這篇文章主要為大家介紹了Go語言異常處理機(jī)制中defer、panic和recover三者的使用方法,文中示例代碼講解詳細(xì),需要的朋友可以參考下
    2022-05-05
  • golang中的container/heap包使用

    golang中的container/heap包使用

    Golang中的container/heap包提供堆操作,適用于實(shí)現(xiàn)了heap.Interface的類型,本文主要介紹了golang中的container/heap包使用,感興趣的可以了解一下
    2025-02-02
  • Go基礎(chǔ)教程系列之Go接口使用詳解

    Go基礎(chǔ)教程系列之Go接口使用詳解

    這篇文章主要介紹了Go基礎(chǔ)教程系列之Go接口使用詳解,需要的朋友可以參考下
    2022-04-04
  • Go語言os包用法詳解

    Go語言os包用法詳解

    本文主要介紹了Go語言os包用法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04

最新評(píng)論

临西县| 靖宇县| 浮山县| 梁河县| 丘北县| 长垣县| 福清市| 岳池县| 霞浦县| 抚宁县| 宁都县| 中超| 江源县| 齐河县| 安顺市| 视频| 兴隆县| 贡山| 祁连县| 巩留县| 桃园县| 苍山县| 海伦市| 汉阴县| 白水县| 田东县| 兴城市| 商南县| 湘乡市| 灵丘县| 双牌县| 江华| 绥芬河市| 白沙| 台湾省| 金湖县| 东安县| 漯河市| 玉树县| 历史| 平谷区|