首页 > 其他 > 详细

go第十一课时

时间:2021-01-18 23:42:12      阅读:25      评论:0      收藏:0      [点我收藏+]

1.json转化为结构体

package main
import (
    "encoding/json"
    "fmt"
)
type goods struct {
    Company string `json:"company"`
    Isok bool `json:"isok"`
    Price int `json:"price"`
    Subject []string `json:"subject"`
}
func main() {
    jsonbuff:=`{
    "company":"zhangsan",
    "isok":true,
    "price":90,
    "subject":["go","php","java","jscript"]
    }`
    var good goods
    err:=json.Unmarshal([]byte(jsonbuff),&good);
    if err != nil {
        fmt.Println(111);
    }
    slice:=good.Subject;
    for _,v:=range slice{
        fmt.Println(v);
    }
}

 2.json转化为map

package main
import (
    "encoding/json"
    "fmt"
)
func main() {
    jsonbuff:=`{
    "company":"zhangsan",
    "isok":true,
    "price":90,
    "subject":["go","php","java","jscript"]
    }`
    temp:=make(map[string]interface{})
    err:=json.Unmarshal([]byte(jsonbuff),&temp)
    if err != nil {
        fmt.Println("aaa")
    }
    //下面这种方式获取不到因为这个里面的是interface所有需要下面的
    //slice:=temp["subject"]
    //t,ok:=slice.([]string)
    //if !ok {
    //    fmt.Println("fail")
    //}
    //fmt.Println(t);
    slice := temp["subject"].([]interface{})
    for _,val := range slice {
        fmt.Println(val)
    }
}

 

go第十一课时

原文:https://www.cnblogs.com/zh718594493/p/14295717.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!