2017-02-22 66 views
-2

我写了一个示例程序来说明我的问题,它可以在这里看到: https://play.golang.org/p/6776lYcbBRGolang结构域的名称和反编组到这种结构

所以我的问题是:

当结构(GameOne)字段名称以大写字母开头,json.Unmarshal按预期工作; 当它以小写字母开头(GameTwo)时,字段值被设置为其默认值。

这是为什么?它是否与范围/可见性规则有关?

预先感谢您。

+0

可能重复的[我的结构不编组到json](http://stackoverflow.com/questions/15452004/my-structures-are-not-marshalling-into-json) – RdB

回答

1

json.Unmarshal只设置结构中的导出字段和导出字段的第一个字母必须是大写。
欲了解更多信息,我强烈建议你看看到documentation

1

the documentation(强调):

解组将只设置结构的出口领域。

以小写字母开头的字段当然不会被导出。因此,JSON封送拆分器(或实际上您的封装外的任何内容)无法影响它们。