目录

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 切片 结构体相关推荐

  1. Golang Json文件解析为结构体工具-json2go

    代码地址如下: http://www.demodashi.com/demo/14946.html 概述 json2go是一个基于Golang开发的轻量json文件解析.转换命令行工具,目前支持转换输出 ...

  2. Golang——结构体创建与初始化、结构体与数组、结构体与切片、结构体与map、结构体作为函数参数、结构体方法、结构体方法继承

    结构体: 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合 结构体可以很好的管理一批有联系的数据,使用结构体可以提高程序的易读性,类似于Java的类一样 不能在结构体直接赋值 字段名必须唯一 ...

  3. go json字符串转换成结构体,json字符串数组转换成切片

    例子1:把字符串转换成结构体:{"FromUid":"100","FromName":"HANASHAN"} packa ...

  4. go语言json字符串解析为结构体数组,结构体指针的数组

    废话不多说直接上效果图 完整代码如下 package main import ("encoding/json""fmt" ) // 结构体定义 type rob ...

  5. Go基础:指针、Map、结构体

    目录 Map 按照指定顺序遍历map 元素为map类型的切片 值为切片类型的map 结构体 类型定义和类型别名的区别 struct 取结构体的地址 结构体没有构造函数,可自己实现 结构体初始化 方式一 ...

  6. Golang学生管理系统(函数+结构体版)

    背景 使用golang结构体实现学生管理系统,根据用户输入实现学生的增删改查. package mainimport ("fmt""os" )// var sm ...

  7. Golang 基础知识(十一.struct结构体)

    struct结构体 1.定义 2.匿名结构体 3.键值对初始化 4.构造函数 4.1 (值)方法和接收者 4.2 (指针)方法和接受者 4.3 结构体的"继承 4.4 序列化与反序列化 4. ...

  8. golang 初始化并赋值_golang 结构体初始化时赋值格式介绍

    golang在给结构体赋值初始值时,用:分割k,v值 x := ItemLog{ Id: GetUuid(), ItemId: u.Id, UsrId: "123", Name: ...

  9. Golang 语言的排序、结构体排序

    文章目录 1.前言 2.基本类型切片排序 3.自定义比较器 4.排序任意数据结构 5.小结 1.前言 开发过程中,我们经常需要对元素进行排序,使用 Go 我们可以轻松实现. Go 内置 sort 包中 ...

  10. Golang 笔记 2 函数、结构体、接口、指针

    一.函数 Go中函数是一等(first-class)类型.我们可以把函数当作值来传递和使用.Go中的函数可以返回多个结果.   函数类型字面量由关键字func.由圆括号包裹声明列表.空格以及可以由圆括 ...

最新文章

  1. DARPA 2020财年研发预算 人工智能应用研究投资急剧增长
  2. 前端基于浏览器存储的AJAX性能优化
  3. PHP通过header实现文本文件的下载
  4. 基于ROS的人脸识别
  5. exchange客户端不能正常登陆
  6. excel宏病毒专杀方法
  7. u盘启动蓝屏 索尼vaio_U盘重装系统出现蓝屏?不要急,这四个手段轻松帮你解决!...
  8. c mysql 双主复制_mysql双主复制及使用keepalived作高可用的配置详解
  9. LightOJ 1197 Help Hanzo 素数筛
  10. js/bat批处理调用谷歌浏览器chrome批量打开网页测试web性能
  11. K-means 聚类算法的图像区域分割
  12. Xcode连接git@osc
  13. Ionic3.x/Ionic4.x项目实战视频教程
  14. 3D元素周期表源码(已加注释)及分析
  15. 基于控制台的老虎机Java Demo
  16. 《关键对话》思维导图
  17. android IO流_Android 开发技术周报 Issue#265
  18. Java从入门到实战总结-4.2、数据库高级
  19. 运行数据区③---方法区
  20. 支持向量机(SVM)——线性支持向量机

热门文章

  1. Altium Designer精简版
  2. python生成数字证书_makecert 制作数字证书
  3. 2014/2015年Mac Pro连接LG Ultra HD显示器刷新率低(30Hz)问题解决
  4. 网易面试总结(2014.12.31)
  5. Allegro 16.6使用说明及技巧
  6. Editplus 破解
  7. 通信工程学什么计算机知识,通信技术需要学习哪些知识
  8. 自己电脑配置Oracle WebLogic Server
  9. 混淆的艺术-(苍井空变凤姐)Proguard源码分析(三)Proguard配置解析~上
  10. 电子商务网站建设规划方案