(三十八)golang--json(对切片、map、结构体进行序列化)

(三十八)golang--json(对切片、map、结构体进行序列化),第1张

概述JSON(javascript object notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。key-val JSON是在2001年开始推广的数据格式,目前已

JsON(JavaScript object notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。key-val

JsON是在2001年开始推广的数据格式,目前已成为主流的数据格式。

JsON易于机器解析和生成,并有效地提升网络传输效率。通常程序在网络传输时会先将数据(结构体、map)等序列化成Json字符串,到接收方得到Json数据时,再反序列化恢复成原来的数据类型。这种方式已成为各个语言的标准。

要解析成Json格式,struct里面的字段必须大写!!!不然解析出来的是{}

因为Json包相当于一个外包,字段大写才能被其调用。。。

package mainimport (    "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=序列化之后的结果:%v\n",(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类型。 

 

总结

以上是内存溢出为你收集整理的(三十八)golang--json(对切片、map、结构体进行序列化)全部内容,希望文章能够帮你解决(三十八)golang--json(对切片、map、结构体进行序列化)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1262150.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存