Go把Map转成对象

这篇具有很好参考价值的文章主要介绍了Go把Map转成对象。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近使用了Redis的Hash,把一个对象给存储到了hash里面,具体如下:

Go把Map转成对象,golang,golang

 现在需要从RedisHash缓存里面把结果给取出来,同时赋值到一个对象上面

result, err := global.GVA_REDIS.HGetAll(context.Background(), key).Result()

问题是result是一个  map[string]string 类型,我们直接把map[string][string]给序列化成json字符串,是不符合我们预想的,因为map的值是string类型(为什么map的值不存int类型?因为redis只能存储字符串),但是对象上面有些属性是int类型的,导致我们反序列化失败

既然不能直接序列化map成为一个符合我们结果的json字符串,我们就自己构建一个json字符串

		j := "{"
		for k, v := range result {
			j += "\"" +k + "\"" + ":" + v + ","
		}
		j =j[:len(j)-1]
		j += "}"
        err = json.Unmarshal([]byte(j), &ExamDetail)

然后我们再使用反序列化即可成功了

补充:

当一个对象被存储在Redis的Hash里面的时候,如果原本是int类型,那存储到Hash的时候,是没有字符串的两个"",如果是string类型,是会有"" ,但是其实两个value本质都是string,我们正是通过这个关键点,把map给反序列化到结构体上了,并成功对应其各种类型

Go把Map转成对象,golang,golang

 文章来源地址https://www.toymoban.com/news/detail-645274.html

到了这里,关于Go把Map转成对象的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 100天精通Golang(基础入门篇)——第12天:深入解析Go语言中的集合(Map)及常用函数应用

    🌷 博主 libin9iOak带您 Go to Golang Language.✨ 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐 🪁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批

    2024年02月12日
    浏览(47)
  • go对象的创建和使用 orm map对象和List 时间 json get/post请求

    GORM 指南 | 入门指南 |《GORM 中文文档 v2》| Go 技术论坛 GoFrame gmap遍历hashmap listmap treemap使用技巧_Golang_脚本之家 HTTPClient-基本使用 - GoFrame (ZH)-Latest - GoFrame官网 - 类似PHP-Laravel, Java-SpringBoot的Go企业级开发框架 go语言http请求(一)_go http import-CSDN博客 GO 发起HTTP请求调用接口_go-h

    2024年04月11日
    浏览(36)
  • 【golang】go获取腾讯云cos对象存储 并转为base64字符串输出

    需要引入腾讯云cos的sdk https://github.com/tencentyun/cos-go-sdk-v5 配置yaml如下: go代码编写如下:

    2024年02月11日
    浏览(53)
  • Map转成String,String 转换成Map

    把一个map转换成json字符串后存放在Redis中,然后在redis中取出json字符串,再把字符串转变成原来的Map 二、具体实现 1.1 Map转成String 这里使用是阿里巴巴fastjson 1.2 String转成Map

    2024年01月24日
    浏览(51)
  • <List<Map<String,Object>>>Map中多个属性转成List Map

    举例: 原始数据 :{001=张三, 002=李四, 003=王五, 004=赵六} 目标数据 : {value=张三, key=001} {value=李四, key=002} {value=王五, key=003} {value=赵六, key=004} 输出: 单独封装工具类案例:

    2024年02月11日
    浏览(44)
  • hutool 读取每个sheet,数据转成List<Map<>>的格式

    1.接收上传的excel文件流,取出第一个sheet 2.ImportExcelUtil 工具类

    2024年02月13日
    浏览(39)
  • dataTable转成对象、json、list

    datatable转换成list集合 //多行datatable数据转换为对象: datatable转换成json

    2024年02月15日
    浏览(47)
  • 使用JAXB将xml转成Java对象

    工作中遇到个问题,需要将xml转对象,之前复杂的xml都是自己用dom4j来解析组装成Java对象,但是对于简单的,看到了JAXB处理的这种方式,就整理下,写成个工具类。 city.xml CityList.xml City.java JAXBContext类,是应用的入口,用于管理XML/Java绑定信息 Unmarshaller接口,将XML数据反序列

    2024年02月07日
    浏览(51)
  • java:List<Object>转成对象集合的神技,贼好用

    在开发中,遇到了一个问题,由于是公共查询方法,返回的类型竟然是ListObject,我本地调用之后需要进行对象映射保存数据库,可是怎么转都转不成对象集合,最后发现了一个神技公共方法,贴出来让大家也吃下红利。 公共方法: 调用方法: 大家可以试下,我已经亲自试过

    2024年02月03日
    浏览(50)
  • Golang 中的 map 详解

    1、map 的定义   在计算机科学里,被称为相关数组、map、符号表或者字典,是由一组 key, value 对组成的抽象数据结构,并且同一个 key 只会出现一次。   两个关键点:map 是由 key-value 对组成的;key 只会出现一次。   map 的设计也被称为 “The dictionary problem(字典问题)

    2024年02月14日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包