序列化-Slice序列化

未匹配的标注

Slice序列化

首先,创建上面map类型的切片mySlice。

var mySlice []map[string]interface{}

依次创建map,并初始化、赋值,追加到切片中

// 创建map1,初始化,赋值
m1 := make(map[string]interface{})
m1["name"] = "李白"
m1["age"] = 20
m1["addr"] = "莫高窟"
mySlice = append(mySlice, m1)

// 创建map2,初始化,赋值
m2 := make(map[string]interface{})
m2["name"] = "杜子腾"
m2["age"] = 29
m2["addr"] = [3]string{"毛纺厂","方便村","洗手街",}
mySlice = append(mySlice, m2)

由于map是map[string]interface{}类型,因此value可以是任意数据类型,数组也可以。

同样,使用相同的方法进行序列化并查看。

示例代码:

// 封装 slice 序列化测试函数
func sliceSerial()  {
   // 创建一个 map[string]interface{}类型的 切片
    ……
   // 创建map,初始化,赋值
    ……
   // 将 slice 使用 Marshal() 函数进行序列化
   data, err := json.Marshal(mySlice)
   if err != nil {
      fmt.Println("Marshal err:", err)
      return
   }
   // 查看序列化后的 json 字符串
   fmt.Println("slice序列化后 = ", string(data))
}
func main() {
   // 测试slice序列化
   sliceSerial()
}

输入结果为:slice序列化后 =

[{"addr":"莫高窟","age":20,"name":"李白"},{"addr":["毛纺厂","方便村","洗手街"],"age":29,"name":"杜子腾"}]

可以将这个结果,导入到json在线格式化验证网站中查验。数据正确!

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~