code学习

常见问题之Golang—— invalid character 's' looking for beginning of value

常见问题之Golang—— invalid character 's' looking for beginning of value

背景

日常我们开发时,会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到的一些问题的记录文章系列,这里整理汇总后分享给大家,让其还在深坑中的小伙伴有绳索能爬出来。

同时在这里也欢迎大家把自己遇到的问题留言或私信给我,我看看其能否给大家解决。

开发环境

  • 系统:windows10
  • 语言:Golang
  • golang版本:1.17

内容

错误

invalid character 's' looking for beginning of value

造成原因:

1、请求头contentType不匹配

2、接收实体中没有有效标记

解决方案:

1、检查实体是否有效设定了json和form,并对必填字段增加了required标记

type User struct {
    UserId   string `json:"userId" form:"userId" binding:"required"`
    UserName string `json:"userName" form:"userName"`
    Password string `json:"password" form:"password"`
}      

2、客户端如果是一个ajax,则可以按照下方的代码进行检查,注意data需要使用json字符串,不能使用对象,否则后端的contentType就是不对的,不能使用gin框架的BindJSON解析。

$.ajax({
                    url: "/api/searchFileList",
                    type: 'post',
                    data: JSON.stringify(jsonData),
                    datType: "JSON",
                    contentType: "application/json",
                    success: function (data) {

                    }      

本文声明:

常见问题之Golang—— invalid character 's' looking for beginning of value

88x31.png

​​知识共享许可协议​​