Go:json.Unmarshal何时会返回结构错误?

Go:json.Unmarshal何时会返回结构错误?,第1张

Go:json.Unmarshal何时会返回结构错误

如果源中的值与目标中的值不对应,则JSON解码器不会报告错误。例如,如果源包含“状态”字段,这不是错误,但目标没有。

在其他情况下,Unmarshal函数确实会返回错误:

语法错误

type A struct {    Name string `json:"name"`}data = []byte(`{"name":what?}`)err = json.Unmarshal(data, &a)fmt.Println(err)  // prints character 'w' looking for beginning of value

类型不匹配

data:= []byte(`{"name":false}`)type B struct {  Name string `json:"name"`}var b Berr = json.Unmarshal(data, &b)fmt.Println(err) // prints cannot unmarshal bool into Go value of type string

游乐场的例子



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5170501.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-18
下一篇2022-11-18

发表评论

登录后才能评论

评论列表(0条)

    保存