反序列化-Slice反序列化

未匹配的标注

Slice反序列化

实现思路与前面两种的实现完全一致,这里不再赘述。直接参考代码:

// 封装函数测试slice反序列化
func sliceDeserial()  {

   // 准备反序列化的json字符串
   str := `[{"addr":"莫高窟","age":20,"name":"李白"},{"addr":["毛纺厂","方便村","洗手街"],"age":29,"name":"杜子腾"}]`

   // 定义slice变量
   var slice []map[string]interface{}
   err := json.Unmarshal([]byte(str), &slice)
   if err != nil {
      fmt.Println("Unmarshal err:", err)
      return
   }

   // 查看反序列化结果
   fmt.Println("反序列化后:slice =", slice)
}

func main() {
   // 测试slice反序列化
   sliceDeserial()
}

输出结果为:

slice = [map[addr:莫高窟 age:20 name:李白] map[addr:[毛纺厂 方便村 洗手街] age:29 name:杜子腾]]

特别强调:

反序列化json字符串时,务必确保反序列化传出的数据类型,与之前序列化的数据类型完全一致。

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

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


暂无话题~