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

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

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

Go
RISEBY 2023-08-07 18:57:53
为什么下面的程序不能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贡献1777条经验 获得超10个赞

当我检查调用中的错误时,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]]]


查看完整回答
反对 回复 2023-08-07
  • 1 回答
  • 0 关注
  • 132 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信