- package main
- import "encoding/json"
- import "fmt"
- import "os"
- type Response1 struct {
- Page int
- Fruits []string
- }
- type Response2 struct {
- Page int `json:"page"`
- Fruits []string `json:"fruits"`
- }
- func main() {
- bolB, _ := json.Marshal(true)
- fmt.Println(string(bolB))
- intB, _ := json.Marshal(1)
- fmt.Println(string(intB))
- fltB, _ := json.Marshal(2.34)
- fmt.Println(string(fltB))
- strB, _ := json.Marshal("gopher")
- fmt.Println(string(strB))
- slcD := []string{"apple", "peach", "pear"}
- slcB, _ := json.Marshal(slcD)
- fmt.Println(string(slcB))
- mapD := map[string]int{"apple": 5, "lettuce": 7}
- mapB, _ := json.Marshal(mapD)
- fmt.Println(string(mapB))
- res1D := &Response1{
- Page: 1,
- Fruits: []string{"apple", "peach", "pear"}}
- res1B, _ := json.Marshal(res1D)
- fmt.Println(string(res1B))
- res2D := &Response2{
- Page: 1,
- Fruits: []string{"apple", "peach", "pear"}}
- res2B, _ := json.Marshal(res2D)
- fmt.Println(string(res2B))
- byt := []byte(`{"num":6.0,"strs":["a","b"]}`)
- var dat map[string]interface{}
- if err := json.Unmarshal(byt, &dat); err != nil {
- panic(err)
- }
- fmt.Println(dat)
- num := dat["num"].(float64)
- fmt.Println(num)
- strs := dat["strs"].([]interface{})
- str1 := strs[0].(string)
- fmt.Println(str1)
- str := `{"page": 1, "fruits": ["apple", "peach"]}`
- res := &Response2{}
- json.Unmarshal([]byte(str), &res)
- fmt.Println(res)
- fmt.Println(res.Fruits[0])
- enc := json.NewEncoder(os.Stdout)
- d := map[string]int{"apple": 5, "lettuce": 7}
- enc.Encode(d)
- }
- //该片段来自于http://www.codesnippet.cn/detail/150320132425.html
来源: http://www.codesnippet.cn/detail/150320132425.html