Maison >développement back-end >Golang >Pourquoi ne puis-je pas analyser JSON dans ma structure Go ?

Pourquoi ne puis-je pas analyser JSON dans ma structure Go ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-12 04:25:02257parcourir

Why Can't I Parse JSON into My Go Struct?

L'analyse de JSON dans les structures Go

L'analyse de JSON dans les structures Go permet un accès pratique aux configurations de données structurées. Bien que l'extrait de code que vous avez fourni se compile sans erreur, il ne parvient pas à remplir les champs de structure avec des valeurs correctes.

Résoudre le problème

Le problème réside dans le statut d'exportation de vos éléments de structure. En Go, pour qu'un élément struct soit accessible lors de l'encodage/décodage par le package JSON, il doit commencer par une lettre majuscule. Cela garantit que l'élément est accessible en dehors de son package.

Correction du code

Pour résoudre le problème, vous devez mettre la première lettre de chaque élément struct en majuscule . Le code corrigé ressemblerait à ceci :

var settings struct {
    ServerMode bool `json:"serverMode"`
    SourceDir  string `json:"sourceDir"`
    TargetDir  string `json:"targetDir"`
}

En mettant en majuscule les noms des éléments struct, vous les exportez essentiellement, les rendant accessibles pour l'encodage et le décodage JSON. Désormais, lorsque l'analyseur JSON rencontre les noms de champs correspondants dans le fichier JSON, il attribuera correctement les valeurs analysées aux champs de structure.

Sortie attendue

Après avoir créé cette correction, votre programme devrait maintenant imprimer les valeurs de paramètres correctes comme spécifié dans le fichier config.json :

true . .

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn