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) }
有疑问加站长微信联系(非本文作者)