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)
}

浙公网安备 33010602011771号