本文主要介绍了gin 获取post请求的json body操作

代码如下

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

gin 获取post请求的json body操作详解相关推荐

  1. MySQL操作之JSON数据类型操作详解

    MySQL操作之JSON数据类型操作详解 这篇文章主要介绍了MySQL操作之JSON数据类型操作详解,内容较为详细,具有收藏价值,需要的朋友可以参考. 概述 mysql自5.7.8版本开始,就支持了j ...

  2. Go gin获取post请求数据

    Go gin获取post请求数据 注意:是post请求 一.获取表单提交的数据 1.contxt.PostForm("username") 获取表单中的name属性对应的值 示例代 ...

  3. Go gin获取GET请求参数

    Go gin获取GET请求参数 一.带参数的路由:路径中直接加上参数值 e.g. http://127.0.0.1:8080/user/hallen 1.第一种情况:使用占位符: ,必须得指定这个路径 ...

  4. C#获取http请求的JSON数据并解析

    文章目录 1️⃣ C#获取http请求的JSON数据并解析 1.1 获取http的JSON数据 1.2 解析JSON数据 优质资源分享 C#获取http请求的JSON数据并解析,第一步,先拿到http ...

  5. 使用Gin框架集成JWT,源码、详解、面试问题

    使用Gin框架集成JWT,源码.详解.面试问题 一.什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519). ...

  6. ElasticSearch——Spring Boot 集成 ES 操作详解

    文章目录 ElasticSearch--Spring Boot 集成 ES 操作详解 1.SpringBoot 集成 ES 2.索引的API操作详解 3.文档的API操作详解 ElasticSearc ...

  7. java web json_java web中对json的使用详解

    一.在Java Web的开发过程中,如果希望调用Java对象转化成JSON对象等操作.则需要引入以下jar包,不然运行时则报错. 1.commons-beanutils.jar 2.commons-c ...

  8. 核心要素及常用操作详解

    核心要素及常用操作详解 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5z6s4kZN-1678660733651)(http://49.7.203.222:3000/ ...

  9. 第 5 章 Nova - 041 - Resize Instance 操作详解

    Resize Instance 操作详解 Resize 的作用是调整 instance 的 vCPU.内存和磁盘资源. Instance 需要多少资源是定义在 flavor 中的,resize 操作是 ...

最新文章

  1. 查询GC得到森林里主域和子域的帐号
  2. qs.stringify和JSON.stringify的使用和区别
  3. 二次规划的一个很好的课件网站
  4. android 用webView作为编辑器 各种问题
  5. MYSQL执行计划EXPLAIN
  6. OpenShift 4 - 镜像漏洞扫描软件 Clair
  7. linux生成ssl证书给haproxy,如何为多个SSL证书配置HAProxy
  8. B2C商家怎样在有限的预算下展开营销
  9. [1140]linux查看历史命令history
  10. 用java输入学生姓名查询成绩_java实现学生成绩录入系统
  11. python递归编程题_Python数据结构与算法41:递归编程练习题4:铺瓷砖
  12. NFV与SDN的区别与联系
  13. 踱步狼注释移除,状态机算法更新2019.10.16
  14. 本程序实现求n*m的二维数组元素的最大值,请将程序补充完整,以实现规定功能
  15. 计算机无法使用本地搜索,电脑资源管理器搜索功能无法使用解决措施
  16. effective stl 第31条:了解与各种排序相关的选择
  17. 数据骗子无处不在,教你拆穿所谓“万金油”
  18. Ti IMGLIB库简介
  19. 腾讯的断舍离:弃“企鹅”,保“虎斗”
  20. Docker Mirror

热门文章

  1. 彻底理解 Cookie,Session,Token
  2. Django博客系统(发表评论)
  3. 转,大佬关于虚拟内存与物理内存关系讲解。
  4. python如何将列表,字典,元组,集合首字母变成大写 以及其他的大小写转换!
  5. 大幅提高生产力:你需要了解的十大Jupyter Lab插件
  6. 基于OpenCV的透视图转化为不同平面
  7. 链表问题1——打印两个有序链表的公共部分
  8. 简单几行程序轻松分析Excel
  9. 抽点时间让我们一起来学linux系统
  10. STL中的map、unordered_map、hash_map