加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

(三十八)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类型。?

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读