for - goroutine pool
¿Por qué Golang no puede generar json desde struct con el carácter en minúscula frontal? (1)
Ir usa mayúsculas y minúsculas para determinar si un identificador particular es público o privado dentro del contexto de su paquete. En su primer ejemplo, los campos no son visibles para json.Marshal
porque no es parte del paquete que contiene su código. Cuando cambió los campos para que fueran mayúsculas, se hicieron públicos, por lo que podrían exportarse.
Sin embargo, si necesita utilizar identificadores en minúscula en su salida JSON, puede etiquetar los campos con los identificadores deseados. Por ejemplo:
type Machine struct{
MachIp string `json:"m_ip"`
MachType string `json:"m_type"`
MachSerial string `json:"m_serial"`
}
Estoy tratando de imprimir el resultado json de la estructura que he creado de la siguiente manera:
type Machine struct {
m_ip string
m_type string
m_serial string
}
e imprimir
m:= &Machine{ m_ip:"test", m_type:"test", m_serial:"test" }
m_json:= json.Marshal(m)
fmt.Println(m_json)
Sin embargo, el resultado devuelto solo {}
En segundo lugar, traté de cambiar la primera letra de las palabras a Mayúsculas de la siguiente manera:
type Machine struct{
MachIp string
MachType string
MachSerial string
}
¡y funciona! ¿Por qué no funciona la palabra con el carácter minúscula en el frente?