一 基本介绍
json 反序列化是指,将 json 字符串反序列化成对应的数据类型(结构体、map、切片)的操作
二 实战
1 需求
完成将 json 字符串反序列化成结构体、map 和切片。
2 代码
package main
import (
"encoding/json"
"fmt"
)
// 定义一个结构体
type Monster struct {
Name string
Age int
Birthday string
Sal float64
Skill string
}
// 将 json 字符串,反序列化成struct
func unmarshalStruct() {
// str 在项目开发中,是通过网络传输获取到.. 或者是读取文件获取到
str := "{\"Name\":\"牛魔王~~~\",\"Age\":500,\"Birthday\":\"2011-11-11\",\"Sal\":8000,\"Skill\":\"牛魔拳\"}"
// 定义一个 Monster 实例
var monster Monster
err := json.Unmarshal([]byte(str), &monster)
if err != nil {
fmt.Printf("unmarshal err=%v\n", err)
}
fmt.Printf("反序列化后 monster=%v monster.Name=%v \n", monster, monster.Name)
}
// 对 map 进行序列化
func testMap() string {
// 定义一个map
var a map[string]in