Go之路(二十三):Json
Json
Json模块放在"encoding/json"
主要是json.Marshal()和json.Unmarshal()
打包:
package main import( "fmt" "encoding/json" ) func main() { var sl []map[string]interface{} var m = make(map[string]interface{}) m["username"] = "tom" m["passwd"] = "123123" m["age"] = 12 sl = append(sl, m) m = make(map[string]interface{}) m["username"] = "mike" m["passwd"] = "123123" m["age"] = 13 sl = append(sl, m) data, err := json.Marshal(sl) if err !=nil{ fmt.Println(err) } fmt.Println(string(data)) }
解包:
package main import( "fmt" "encoding/json" ) type User struct{ Username string `json:"username"` Passwd string `json:"passwd"` Age int `json:"age"` } func main() { var sl []map[string]interface{} var m = make(map[string]interface{}) m["username"] = "tom" m["passwd"] = "123123" m["age"] = 12 sl = append(sl, m) m = make(map[string]interface{}) m["username"] = "mike" m["passwd"] = "123123" m["age"] = 13 sl = append(sl, m) data, err := json.Marshal(sl[0]) if err !=nil{ fmt.Println(err) } var user1 User fmt.Println(string(data)) json.Unmarshal(data, &user1) fmt.Println(user1) }