go语言json序列化与反序列化
来源:互联网 发布:ubuntu挂起后怎么唤醒 编辑:程序博客网 时间:2024/05/16 13:27
package mainimport ("encoding/json""fmt")type Change struct {Mid int //菜单IdActions []string //拥有的权限 "add" "view" "delete" "update"}type Change_slice struct {ChgArr []Change //一个角色对应的菜单以及权限}func main() {//对象序列化为json字符串---------------------------------Beginvar c1, c2 Changevar msg Change_slicec1.Mid = 1c1.Actions = []string{"view", "add"}c2.Mid = 2c2.Actions = []string{"delete", "add", "update"}msg.ChgArr = []Change{c1, c2}fmt.Println(msg)b, er := json.Marshal(msg)if er == nil {fmt.Println(string(b))}//对象序列化为json字符串---------------------------------End//json字符串反序列化为对象---------------------------------Beginvar str string = `{"ChgArr":[{"Mid":1,"Actions":["view","add"]},{"Mid":2,"Actions":["delete","add","update"]}]}`var msgs Change_sliceerr := json.Unmarshal([]byte(str), &msgs)if err != nil {fmt.Println("Can't decode json message", err)} else {fmt.Println(msgs.ChgArr[1].Mid)}//json字符串反序列化为对象---------------------------------End}
输出结果:
{[{1 [view add]} {2 [delete add update]}]}
{"ChgArr":[{"Mid":1,"Actions":["view","add"]},{"Mid":2,"Actions":["delete","add","update"]}]}
2
0 0
- go语言json序列化与反序列化
- GO语言的JSON序列化与反序列化
- Go Json序列化和反序列化
- Json序列化 与反序列化
- JSON序列化与反序列化
- JSON序列化与反序列化
- Json序列化与反序列化
- Json序列化与反序列化
- JSON序列化与反序列化
- JSON序列化与反序列化
- JSON序列化与反序列化
- JSON序列化 与反序列化
- JSON序列化与反序列化
- JSON序列化与反序列化
- JSON序列化与反序列
- Go语言 序列化反序列化二进制包
- go语言与excel的序列化与反序列化(1)
- 序列化与反序列化,及Json序列化反序列化
- Openstack百科——功能剖析
- 银行业务系统
- pro4js和openlayer版本配置
- 什么是POP3、SMTP和IMAP?
- [小技巧] 查看Linux发行版的版本信息
- go语言json序列化与反序列化
- SEO学习笔记(一)
- 分数的加减乘除 约分 以及比较大小
- 苹果新语言Swift到底该怎么入门?
- 每日linux命令学习之ln
- Android 实现导航菜单左右滑动效果
- VS2010"LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏"解决方法
- maven 打包 protobuf
- android的PreferenceActivity