为了账号安全,请及时绑定邮箱和手机立即绑定

Go YAML unmarshal 不会将所有对象结构解码为通用接口。任何想法为什么?

Go YAML unmarshal 不会将所有对象结构解码为通用接口。任何想法为什么?

Go
HUH函数 2022-04-20 20:47:48
为什么以下Go程序不起作用?Unmarshal 之后地图是空的。我可以做些什么来正确反序列化它吗?还是我应该最终使用yaml.Node?package mainimport (    "fmt"    "gopkg.in/yaml.v3")func main() {    empYaml := `      employees:        - id: 11          name: Irshad          department: IT          designation: Product Manager          address:            city: Mumba            state: Maharashtra            country: India    `    var result map[string]interface{}    yaml.Unmarshal([]byte(empYaml), &result)    fmt.Println(result)}播放网址: https: //play.golang.org/p/tG44j15mNjH
查看完整描述

1 回答

?
达令说

TA贡献1821条经验 获得超6个赞

当我检查来自调用的错误时,yaml.Unmarshal我看到了错误:

2009/11/10 23:00:00 yaml:第 2 行:找到无法启动任何令牌的字符

看起来这可能是由于内容中的制表符,因为 YAML禁止制表符。

从 YAML 内容中删除所有制表符,您应该处于良好状态。我得到以下输出:

map[employees:[map[address:map[city:Mumba country:India state:Maharashtra] department:IT designation:Product Manager id:11 name:Irshad]]]


查看完整回答
反对 回复 2022-04-20
  • 1 回答
  • 0 关注
  • 85 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号