主页 > 知识库 > gin 获取post请求的json body操作

gin 获取post请求的json body操作

热门标签:湛江crm外呼系统排名 地图标注免费定制店 仙桃400电话办理 上海极信防封电销卡价格 重庆庆云企业400电话到哪申请 宿迁便宜外呼系统代理商 不封卡外呼系统 郑州智能语音电销机器人价格 宁波语音外呼系统公司

我就废话不多说了,大家还是直接看代码吧~

代码如下

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)
}

补充:使用gin接受post的json数据

第一种

func Login(c *gin.Context) {
 json := make(map[string]interface{}) //注意该结构接受的内容
 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,
 })
}

补充:golang json数据解析错误情况

byte数组接收网络数据完网络数据后,需要根据接收到的长度进行重新分片,才能被json进行解析,不然会报错。

  for {
 len1, err := resp.Body.Read(data)
 if len1 > 0 {
 data1 := data[:len1] //需要根据接收到的长度进行重新分片
 err1 := json.Unmarshal(data1, rec_rep)
 if err1 != nil {
  fmt.Println("json.Unmarshal failed")
 }
 }
 if err != nil {
 break
 }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

您可能感兴趣的文章:
  • js实现axios限制请求队列
  • JavaScript如何利用Promise控制并发请求个数
  • 利用js实现Ajax并发请求限制请求数量的示例代码
  • JS 实现请求调度器
  • PHP实现chrome表单请求数据转换为接口使用的json数据
  • JavaScript 中断请求几种方案详解

标签:西双版纳 青海 辽宁 儋州 安康 海南 物业服务 电子产品

巨人网络通讯声明:本文标题《gin 获取post请求的json body操作》,本文关键词  gin,获取,post,请求,的,json,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《gin 获取post请求的json body操作》相关的同类信息!
  • 本页收集关于gin 获取post请求的json body操作的相关信息资讯供网民参考!
  • 推荐文章