【Golang报错】100% 解决 json: cannot unmarshal array into Go value of type model.xxx 问题
2023-06-13 09:15:38 时间
背景:
在 go 项目中,查询数据时,获取不到数据。请求失败。
根据 go 项目的日志,获得如下报错信息。
报错信息:
2023/03/06 20:54:40 [31;1m/xxxx/task.go:476 [35;1msql: Scan error on column index 3, name "xxx": json: cannot unmarshal array into Go value of type model.xxxx [0m[33m[31.874ms] [34;1m[rows:1][0m SELECT * FROM "xxx" WHERE TID='xxx' ORDER BY "xxx"."id" LIMIT 1
解决方案:
检查定义的类型是否有问题:
type Results map[string]interface{} --》type Results []map[string]interface{}
黑色修改为红色。
原因:
在定义的 model 中,某一个字段的数据类型应该定义为:
type Results map[string]interface{}
但其实数据库中存储的类型与此不符合。
在数据库中存储的是 数据嵌套的字典,转换的 JSON 格式。
现在要反序列化传给前端,所以应该改成如下:
type Results []map[string]interface{}
号外号外:)
我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=294utw6ouxhcg
相关文章
- 仙人指路,引而不发,Go lang1.18入门精炼教程,由白丁入鸿儒,Golang中New和Make函数的使用背景和区别EP16
- Go语言之接口(二十)
- Go语言Module常用命令 (二十五)
- 【愚公系列】2022年07月 Go教学课程 026-结构体
- 如何优雅的通过Shell脚本一键部署GO项目到服务器 |Go主题月
- 2022-10-16:以下go语言代码输出什么?A:timed out;B:panic;C:没有任何输出。package mai
- Go 单测高级篇:Golang 单测原理深入理解
- Go语言编程设计学习Day1:helloworld 变量 常量
- go-dongle 0.2.5 版本发布,一个轻量级、语义化的 golang 编码解码、加密解密库
- Go中常见错误100例教程:第1章 Go易学难精
- 「Go工具箱」go语言csrf库的使用方式和实现原理
- 【新版】使用 go-cqhttp 扫码登录,一键接入 ChatGPT 机器人到 QQ 群
- Go-标准库-bufio(一)
- Go-包管理-go mod(二)
- Go语言圣经-字节切片与字符串详解编程语言
- 微服务框架—搭建 go-micro环境详解编程语言
- Go_ go mod 命令解决墙的问题详解编程语言
- Go语言常见大型Web项目分层(MVC架构)
- Go语言TCP网络程序设计
- 键入高效数据库搜索:深入解析Go和MongoDB的强大组合(gomongodb)
- SQL Server快速上手GO!(sqlserver go)
- 徒手用Go编写Redis迈向新技术世界的旅程(徒手用go写个redis)
- 使用Go语言实现Redis数据库(用go实现redis)
- 提升Go读取Oracle的速度(go读取oracle速度)
- Go语言搭建Oracle数据库快速连接方法(go语言连接oracle)
- GO语言(golang)基础知识