(三十八)golang--json(对切片、map、结构体进行序列化)
发布时间:2020-12-16 09:17:31 所属栏目:大数据 来源:网络整理
导读:JSON(javascript object notation)是一种 轻量级的数据交换格式 ,易于人阅读和编写,同时也易于机器解析和生成。key-val JSON是在2001年开始推广的数据格式,目前已成为主流的数据格式。 JSON易于机器解析和生成,并有效地提升网络传输效率。通常程序在网
JSON(javascript object notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。key-val JSON是在2001年开始推广的数据格式,目前已成为主流的数据格式。 JSON易于机器解析和生成,并有效地提升网络传输效率。通常程序在网络传输时会先将数据(结构体、map)等序列化成json字符串,到接收方得到json数据时,再反序列化恢复成原来的数据类型。这种方式已成为各个语言的标准。 要解析成json格式,struct里面的字段必须大写!!!不然解析出来的是{} 因为Json包相当于一个外包,字段大写才能被其调用。。。 package main import ( "encoding/json" fmt" ) type monster struct { Name string Age int Birthday Sal float64 Skill } func testStruct() { m := monster{ Name: 牛魔王,Age: 101994-09-1810000.0牛魔拳//序列化 data,err := json.Marshal(&m) if err != nil { fmt.Println(序列化失败,error=序列化之后的结果:%vn",(data)) } func testMap() { var a map[string]interface{} a = make(map[{}) a[name"] = 孙悟空 a[age20address水帘洞skill七十二变 data,err := json.Marshal(a) (data)) } func testSlice() { var slice []map[{} var m1 map[{} m1 = make(map[{}) m1[ m1["] = [2]string{如意金箍棒} slice = append(slice,m1) var m2 map[{} m2 = make(map[{}) m2[猪八戒 m2[30 slice = json.Marshal(slice) (data)) } func testFloat64() { var a float64 a = 0.987(data)) } func main() { testStruct() testMap() testSlice() testFloat64() } 要想序列化成小写的,只需要用tag指定即可: 对普通数据类型进行序列化是没意义的,只是相当于转换成string类型。? ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |