Go语言标准库Json的使用.

本文通过两个示例展示了如何使用Go语言内置的JSON包进行序列化和反序列化操作。首先介绍了如何将自定义的数据结构转化为JSON字符串,接着演示了如何从JSON字符串中解析出Go语言的数据结构。
GitHub上别人做的封装,挺好用的,推荐一下:https://github.com/bitly/go-simplejson

这个内置的标准库用起来还是很烦得,要知道对方发过来的type,不然只能自己分析反射.
package main

import (
	"encoding/json"
	"fmt"
)

type Status_slice [][]int

type Info struct {
	IP    string
	Block Status_slice
}

func main() {
	var x Status_slice = [][]int{{1, 2}, {2, 3}}
	var y Info = Info{"192.168.1.248", x}
	fmt.Println(y)
	b, e := json.Marshal(y)
	fmt.Println(string(b), e)
	fmt.Println(b)
}

//解码 
package main

import (
	"encoding/json"
	"fmt"
)

type Status_slice [][]int

type Info struct {
	IP    string
	Block Status_slice
}

func main() {
	var x Status_slice = [][]int{{0, 0}, {0, 0}}
	var y Info = Info{"1", x}
	a := `{"IP":"192.168.1.1","Block":[[1,1],[1,2]]}`
	err := json.Unmarshal([]byte(a), &y)
	fmt.Println(err, y)
	Map := make(map[string]Status_slice)
	Map[y.IP] = y.Block
	fmt.Println(Map)
}




评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值