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)

}

  

posted @ 2018-12-07 16:14  __Miracle  阅读(85)  评论(0编辑  收藏  举报