golang json序列化
结构体序列化
func main() {
var j = js{
Name: "zhangsan",
Age: 16,
Sal: 1500.3,
Intro: "aihao lanqiu",
}
json1, _ := json.Marshal(j)
fmt.Println(string(json1))
mp()
slic()
}
map序列化
func mp() {
var a = map[string]interface{}{
"Name": "lisi",
"Age": 16,
"Sal": 22.33,
}
js, _ := json.Marshal(a)
fmt.Println(string(js))
}
切片序列化
func slic() {
var slice = []map[string]interface{}{
map[string]interface{}{
"Name": "lisi",
"Age": 16,
"Sal": 22.33,
},
map[string]interface{}{
"Name": "zhangsan",
"Age": 22,
"Sal": 1122.33,
},
}
js, _ := json.Marshal(slice)
fmt.Println(string(js))
}

切片序列化后返回的是一个数组,因为切片中包含两个元素,即切片包含两个切片故为一个数组
package main import (
"encoding/json"
"fmt"
) type js struct {
Name string
Age int
Sal float32
Intro string
} func mp() {
var a = map[string]interface{}{
"Name": "lisi",
"Age": 16,
"Sal": 22.33,
} js, _ := json.Marshal(a)
fmt.Println(string(js))
} func slic() {
var slice = []map[string]interface{}{
map[string]interface{}{
"Name": "lisi",
"Age": 16,
"Sal": 22.33,
},
map[string]interface{}{
"Name": "zhangsan",
"Age": 22,
"Sal": 1122.33,
},
} js, _ := json.Marshal(slice)
fmt.Println(string(js))
} func main() {
var j = js{
Name: "zhangsan",
Age: 16,
Sal: 1500.3,
Intro: "aihao lanqiu",
} json1, _ := json.Marshal(j)
fmt.Println(string(json1))
mp()
slic()
}
基础类型结构化
无意义
package main import (
"encoding/json"
"fmt"
) func main() {
var a = 1
var s = "abc" a1, _ := json.Marshal(a)
s1, _ := json.Marshal(s) fmt.Println(string(a1))
fmt.Println(string(s1))
}

golang json序列化的更多相关文章
- Golang之json序列化(struct,int,map,slice)
老规矩,直接上代码 package main import ( "encoding/json" "fmt" ) //把结构体都改小写 type User str ...
- .Net深入实战系列—JSON序列化那点事儿
序 当前主流的序列化JSON字符串主要有两种方式:JavaScriptSerializer及Json.net(Nuget标识:Newtonsoft.Json).JavaScriptSerializer ...
- Newtonsoft.Json 序列化和反序列化 时间格式【转】
1.JSON序列化 string JsonStr= JsonConvert.SerializeObject(Entity); eg: A a=new A(); a.Name="Elain ...
- [.net 面向对象程序设计进阶] (13) 序列化(Serialization)(五) Json 序列化利器 Newtonsoft.Json 及 通用Json类
[.net 面向对象程序设计进阶] (13) 序列化(Serialization)(五) Json 序列化利器 Newtonsoft.Json 及 通用Json类 本节导读: 关于JSON序列化,不能 ...
- DotNet的JSON序列化与反序列化
JSON(JavaScript Object Notation)JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.在现在的通信中,较多的采用JSON数据格式,JSON有 ...
- C#中JSON序列化和反序列化
有一段时间没有到博客园写技术博客了,不过每天逛逛博客园中大牛的博客还是有的,学无止境…… 最近在写些调用他人接口的程序,用到了大量的JSON.XML序列化和反序列化,今天就来总结下json的序列化和反 ...
- 使用JSON.Net(Newtonsoft.Json)作为ASP.Net MVC的json序列化和反序列化工具
ASP.Net MVC默认的JSON序列化使用的是微软自己的JavaScriptSerializer.性能低不说,最让人受不了的是Dictionary<,>和Hashtable类型居然对应 ...
- Windows Phone 六、JSON序列化
JSON序列化 public class Person { public int Id { get; set; } public string Name { get; set; } public in ...
- [MVC_Json序列化]MVC之Json序列化循环引用
在做MVC项目时,难免会遇到Json序列化循环引用的问题,大致错误如下 错误1:序列化类型为“...”的对象时检测到循环引用. 错误2:Self referencing loop detected f ...
随机推荐
- 【BZOJ5020】【THUWC2017】在美妙的数学王国中畅游 LCT 泰勒展开
题目大意 给你一棵树,每个点有一个函数\(f(x)\) 正弦函数 \(\sin(ax+b) (a\in[0,1],b\in[0,\pi],a+b\in[0,\pi])\) 指数函数 \(e^{ax+b ...
- Ubuntu解压
tar -zxvf FileName.tar.gz tar -jxvf FileName.tar.bz2 unzip FileName.zip sudo dpkg -i 文件名.deb
- VueCLI3如何更改安装时的包管理器为yarn或npm
在执行 vue create project 后如果显示如下 npm run serve 则表示你使用的是npm创建的项目. 如果显示如下 yarn serve 则表示此项目为yarn创建. 那如何切 ...
- 【BZOJ5317】[JSOI2018]部落战争(凸包,闵可夫斯基和)
[BZOJ5317][JSOI2018]部落战争(凸包,闵可夫斯基和) 题面 BZOJ 洛谷 题解 很明显我们只需要两个凸包\(A,B\). 假设询问给定的方向向量是\(v\). 那么现在就是判断\( ...
- ubuntu “无法获得锁 /var/lib/dpkg/lock -open”
在ubuntu系统终端下,用apt-get install 安装软件的时候,如果在未完成下载的情况下将终端中断,此时 apt-get进程可能没有结束.结果,如果再次运行apt-get install ...
- [2017-8-02]Android Learning Day9
Layout动画效果 为布局添加简单的动画效果 public class MainActivity extends AppCompatActivity { @Override protected vo ...
- proxy.conf编写
#这里的test.com要与proxy_pass http://test.com 一至!upstream test.com { ip_hash; server 172.16.0.20:80; serv ...
- 利用ansible批量部署zabbix-agent
应用环境:Linux运维工作少不了一个好的监控,zabbix就是目前比较好的一款开源监控软件. 监控类型多种多样,如果不介意或者系统支持安装,那么agent方式是首选. 当主机数量较多时,可以利用相关 ...
- Vim在图形环境下全屏产生黑边
在终端中运行Vim或运行GVim都会遇到这个问题,当窗口全屏时,左右和底部可能会出现边框,这个边框在终端中的Vim表现为Terminal的背景颜色.下图为SpaceVim+Neovim+Termina ...
- luogu2643 聪聪可可
题目链接 题意 其实转化之后的题意就是求出树上有多少条路径长度是3的倍数.求答案的时候只要将这个数字除以总路径数量就行了. 思路 考虑点分治.对于当前子树,分别求出出树中每个点到根的路径长度对\(3\ ...