Pour commencer, Go utilise les conventions de casse pour différencier les identifiants privés et publics au sein d'un package. Dans l'exemple fourni, les champs (m_ip, m_type et m_serial) de la structure Machine sont privés. Par conséquent, ils ne sont pas accessibles aux bibliothèques externes comme json.Marshal en dehors du package dans lequel ils sont définis.
Lors de la modification des noms de champs en majuscules (MachIp, MachType et MachSerial) dans le deuxième extrait de code, ils deviennent publics et peuvent être exportés. Cela permet à json.Marshal de générer avec succès une représentation JSON.
Cependant, si vous préférez utiliser des noms de champs en minuscules, vous pouvez spécifier manuellement les noms de champs JSON souhaités en utilisant des balises de champ. Par exemple :
type Machine struct { MachIp string `json:"m_ip"` MachType string `json:"m_type"` MachSerial string `json:"m_serial"` }
En annotant les champs avec la balise json, vous demandez essentiellement à l'encodeur JSON d'utiliser les noms de champs spécifiés lors de la génération de la sortie JSON.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!