标准json模块
一般可以使用json.Marsha1和json.Unmarsha1来序列化和反序列化字符串。
package mainimport ("encoding/json""fmt")func main() {//定义一个s1切片s1 := []string{"chinese", "japan", "france", "italy"}fmt.Println("原字符串:", s1)s2, _ := json.Marshal(s1) //序列化,此时s2是字节,uint8类型fmt.Println("序列化后的结果:", string(s2))var s3 []stringjson.Unmarshal([]byte(s2), &s3) //反序列化,这里不能直接用s3简短声明fmt.Println("反序列化后的结果:", s3)}

加上结构体:
package mainimport ("encoding/json""fmt")type Phone struct {//这里要大写,需要跨包到json包Name stringPrice int}func main() {//初始化结构体phone := Phone{Name: "iphone",Price: 5000,}//打印原字符fmt.Println("结构体:", phone)//序列化s1, _ := json.Marshal(phone)fmt.Println("序列化后的结果:", string(s1))//反序列化s2 := Phone{}json.Unmarshal(s1, &s2)fmt.Println("反序列化后的结果:", s2)}
