Go用例确定在您的包上下文中特定标识符是公共标识符还是私有标识符。在您的第一个示例中,该字段不可见,json.Marshal
因为它不是包含代码的包的一部分。当您将字段更改为大写时,它们变为公共字段,因此可以导出。
但是,如果您需要在JSON输出中使用小写的标识符,则可以使用所需的标识符标记字段。例如:
type Machine struct{
MachIp string `json:"m_ip"`
MachType string `json:"m_type"`
MachSerial string `json:"m_serial"`
}