golang 之 复杂json结构体的生成和unmarshal解析

golang的json解析需要先定义json结构体,不像PHP的一个json_decode就可以解析出来,这点就很烦了,简单的json解析还好。

比如:

type Account struct {
    Email    string  `json:"email"`
    Password string  `json:"password"`
    Money    float64 `json:"money"`
}

var jsonString string = `{
    "email":"jishi@gmail.com",
    "password":"123456",
    "money":100.5
}`

func main() {

    account := Account{}

    err := json.Unmarshal([]byte(jsonString), &account)
    if err != nil{
        log.Fatalln(err)
    }
    fmt.Printf("%+v\n", account)
}

解析结果:

{Email:jishi@gmail.com Password:123456 Money:100.5}
 

这样我们就可以直接解析出来了。但如果josn对象很复杂的话,结构体写起来也是很麻烦的。但有了这个神器之后就不怕写结构体了,

https://mholt.github.io/json-to-go/

界面是这样的:

只要在左边填入你要解析的json,右边就会显示出对应的json结构体,不过产生的json结构体可能是有些错误的需要手动去修改,但比自己写可是轻松多了。

json解析完成之后就可以以.操作符取我们想要的字段了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值