go语言json解析和yaml解析的坑

2023-07-08  本文已影响0人  王侦

结构体中的字段名首字母需大写,这样解析json时才能赋值;字段名小写的话,解析不会报错,但是字段都是空值。

另外在进行yaml配置解析时,也会出现这个问题,如果结构体的属性名定义为小写,也会出现错误。

gopkg.in/yaml.v2报错 *yaml.TypeError  filed web not found int type config.ConfigHelp

在Go语言中,JSON解析和YAML解析需要将结构体的字段定义为大写,是因为字段的可导出性(Exported)问题。

JSON和YAML解析库需要通过反射(reflection)机制来解析和映射字段,而反射机制只能访问到可导出的字段。

在Go语言中,标识符的可导出性由标识符的首字母大小写来决定:

因此,为了让JSON和YAML解析库能够访问和操作结构体的字段,这些字段必须是可导出的,即首字母大写。

上一篇 下一篇

猜你喜欢

热点阅读