当前位置:首页 > Golang杂记 > 正文内容

Go slice初始化转换json

2年前 (2020-11-30)Golang杂记892

        切片slice的声明和初始化 , 如果我们只是单纯的声明 var list []string  , 那么list现在是nil  , 转换成json后会变成null,
声明后使用了append函数增加了数据  , 那么就是正常的列表了. 我们看一段代码示例:

package main

import (
   "encoding/json"
   "fmt"
)

func main() {
   var list []string
   bytes, e := json.Marshal(list)
   if e != nil {
      fmt.Println("json序列化失败", e.Error())
   } else {
      fmt.Println(string(bytes))
   }
   //可以使用下面的形式初始化0个元素的切片slice ,  转换成json会是[]
   var list2 = []string{} //字面量初始化
   //或者
   //list:=make([]string,0)//make函数初始化
   bytes2, e := json.Marshal(list2)
   if e != nil {
      fmt.Println("json序列化失败", e.Error())
   } else {
      fmt.Println(string(bytes2))
   }

   // 在切片里边定义map类型
   mSlice := make([]map[string]interface{}, 0)
   //mSlice = append(mSlice, map[string]interface{}{"name": "babala"})
   bytes3, e := json.Marshal(mSlice)
   if e != nil {
      fmt.Println("json序列化失败", e.Error())
   } else {
      fmt.Println(string(bytes3))
   }
}


输出:

null
[]
[]

json_Marshal函数可以对切片,结构体和map转json.

    扫描二维码推送至手机访问。

    版权声明:本文由周伯通的博客发布,如需转载请注明出处。

    本文链接:http://www.zhoubotong.site/post/16.html

    分享给朋友:

    相关文章

    Go 数组合并去重和排序

            Sort包实现了四种基本排序算法:插入排序、归并排序、堆排序和快速排序。 但是这四种排序方法是不公开的,...

    go协程全局变量和局部变量

    大家可能经常会用到类似如下代码片段:package main import (    "fmt"   ...

    Go 字符串切割技巧

    标准库专门提供了一个包 strings 进行字符串的操作,随着go1.18新增的 Cut 函数,字符串处理也更加方便了。Cut 函数的签名如下:func Cut(s, sep&nb...

    Golang中字符串、数组、切片排序

    使用Golang的sort包用来排序,包括二分查找等操作。下面通过实例代码来分享下sort包的使用技巧:package main import (   ...

    Go语言中的零值

    开箱即用什么叫开箱即用呢?因为Go语言的零值让程序变得更简单了,有些场景我们不需要显示初始化就可以直接用,举几个例子:切片,他的零值是nil,即使不用make进行初始化也是可以直接使用的,例如:pac...

    发表评论

    访客

    看不清,换一张

    ◎欢迎参与讨论,请在这里发表您的看法和观点。