Maison > Article > développement back-end > Pourquoi ma structure Go ne décode-t-elle pas correctement JSON ?
Décoder JSON dans une structure Go
Dans Go, l'analyse d'un fichier JSON dans une structure nécessite l'utilisation du package encoding/json. Cependant, une analyse incorrecte de la structure JSON peut conduire à des résultats inattendus.
Considérez l'extrait de code fourni ci-dessous :
var settings struct { serverMode bool sourceDir string targetDir string } func main() { // ... }
Avec le fichier de configuration JSON :
{ "serverMode": true, "sourceDir": ".", "targetDir": "." }
Vous peut rencontrer un résultat déroutant :
false (false and two empty strings)
Ce problème survient car les éléments struct ne sont pas exportés. Par défaut, les éléments struct commençant par une lettre minuscule sont invisibles pour l'encodeur/décodeur JSON. Pour résoudre ce problème, exportez les éléments struct en mettant leurs premières lettres en majuscule :
var settings struct { ServerMode bool `json:"serverMode"` SourceDir string `json:"sourceDir"` TargetDir string `json:"targetDir"` }
L'exportation des éléments struct garantit que l'encodeur/décodeur JSON peut accéder et décoder les valeurs struct. Cela entraînera l'analyse correcte du fichier de configuration JSON dans la structure.
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!