golang json 转 map 切片 结构体
目录
json转map
json转切片
json转结构体
注意点
转json使用的是json_Marshal.也就是序列化的过程,那么反序列的函数json.Unmarshal()
json转map
/**
json转map
*/
func main3() {jsonStr := `{"name":"咔咔","age":20,"address":["fangkang.top","blog.fangkang.top"]}`mMap := make(map[string]interface{})err := json.Unmarshal([]byte(jsonStr), &mMap)if err != nil {fmt.Println("反序列化失败")} else {// map[address:[fangkang.top blog.fangkang.top] age:20 name:咔咔]fmt.Println(mMap)}
}
json转切片
这里有一个注意点那就是切片最后一个没有“,” 这里需要注意一
func main() {jsonStr := `[{"name":"咔咔","age":20,"address":["fangkang.top","blog.fangkang.top"]},{"name":"咔咔","age":20,"address":["fangkang.top","blog.fangkang.top"]},{"name":"咔咔","age":20,"address":["fangkang.top","blog.fangkang.top"]}]`mSlice := make([]map[string]interface{}, 0)err := json.Unmarshal([]byte(jsonStr), &mSlice)fmt.Println(err)if err != nil {fmt.Println("反序列化失败")} else {// [map[address:[fangkang.top blog.fangkang.top] age:20 name:咔咔] map[address:[fangkang.top blog.fangkang.top] age:20 name:咔咔] map[address:[fangkang.top blog.fangkang.top] age:20 name:咔咔]]fmt.Println(mSlice)}
}
json转结构体
type Persons struct {Name stringAge intAddress []string
}/**
json转结构体
*/
func main() {jsonStr := `{"name":"咔咔","age":20,"address":["fangkang.top","blog.fangkang.top"]}`k := Persons{}err := json.Unmarshal([]byte(jsonStr), &k)if err != nil {fmt.Println("反序列化失败")} else {fmt.Println(k)}
}
注意点
golang json 转 map 切片 结构体相关推荐
- Golang Json文件解析为结构体工具-json2go
代码地址如下: http://www.demodashi.com/demo/14946.html 概述 json2go是一个基于Golang开发的轻量json文件解析.转换命令行工具,目前支持转换输出 ...
- Golang——结构体创建与初始化、结构体与数组、结构体与切片、结构体与map、结构体作为函数参数、结构体方法、结构体方法继承
结构体: 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合 结构体可以很好的管理一批有联系的数据,使用结构体可以提高程序的易读性,类似于Java的类一样 不能在结构体直接赋值 字段名必须唯一 ...
- go json字符串转换成结构体,json字符串数组转换成切片
例子1:把字符串转换成结构体:{"FromUid":"100","FromName":"HANASHAN"} packa ...
- go语言json字符串解析为结构体数组,结构体指针的数组
废话不多说直接上效果图 完整代码如下 package main import ("encoding/json""fmt" ) // 结构体定义 type rob ...
- Go基础:指针、Map、结构体
目录 Map 按照指定顺序遍历map 元素为map类型的切片 值为切片类型的map 结构体 类型定义和类型别名的区别 struct 取结构体的地址 结构体没有构造函数,可自己实现 结构体初始化 方式一 ...
- Golang学生管理系统(函数+结构体版)
背景 使用golang结构体实现学生管理系统,根据用户输入实现学生的增删改查. package mainimport ("fmt""os" )// var sm ...
- Golang 基础知识(十一.struct结构体)
struct结构体 1.定义 2.匿名结构体 3.键值对初始化 4.构造函数 4.1 (值)方法和接收者 4.2 (指针)方法和接受者 4.3 结构体的"继承 4.4 序列化与反序列化 4. ...
- golang 初始化并赋值_golang 结构体初始化时赋值格式介绍
golang在给结构体赋值初始值时,用:分割k,v值 x := ItemLog{ Id: GetUuid(), ItemId: u.Id, UsrId: "123", Name: ...
- Golang 语言的排序、结构体排序
文章目录 1.前言 2.基本类型切片排序 3.自定义比较器 4.排序任意数据结构 5.小结 1.前言 开发过程中,我们经常需要对元素进行排序,使用 Go 我们可以轻松实现. Go 内置 sort 包中 ...
- Golang 笔记 2 函数、结构体、接口、指针
一.函数 Go中函数是一等(first-class)类型.我们可以把函数当作值来传递和使用.Go中的函数可以返回多个结果. 函数类型字面量由关键字func.由圆括号包裹声明列表.空格以及可以由圆括 ...
最新文章
- DARPA 2020财年研发预算 人工智能应用研究投资急剧增长
- 前端基于浏览器存储的AJAX性能优化
- PHP通过header实现文本文件的下载
- 基于ROS的人脸识别
- exchange客户端不能正常登陆
- excel宏病毒专杀方法
- u盘启动蓝屏 索尼vaio_U盘重装系统出现蓝屏?不要急,这四个手段轻松帮你解决!...
- c mysql 双主复制_mysql双主复制及使用keepalived作高可用的配置详解
- LightOJ 1197 Help Hanzo 素数筛
- js/bat批处理调用谷歌浏览器chrome批量打开网页测试web性能
- K-means 聚类算法的图像区域分割
- Xcode连接git@osc
- Ionic3.x/Ionic4.x项目实战视频教程
- 3D元素周期表源码(已加注释)及分析
- 基于控制台的老虎机Java Demo
- 《关键对话》思维导图
- android IO流_Android 开发技术周报 Issue#265
- Java从入门到实战总结-4.2、数据库高级
- 运行数据区③---方法区
- 支持向量机(SVM)——线性支持向量机
热门文章
- Altium Designer精简版
- python生成数字证书_makecert 制作数字证书
- 2014/2015年Mac Pro连接LG Ultra HD显示器刷新率低(30Hz)问题解决
- 网易面试总结(2014.12.31)
- Allegro 16.6使用说明及技巧
- Editplus 破解
- 通信工程学什么计算机知识,通信技术需要学习哪些知识
- 自己电脑配置Oracle WebLogic Server
- 混淆的艺术-(苍井空变凤姐)Proguard源码分析(三)Proguard配置解析~上
- 电子商务网站建设规划方案