Lecture de fichiers JSON en tant qu'objets JSON dans Go
Lors de la tentative de lecture d'un fichier JSON dans une variable, les tentatives ultérieures de boucle dessus et récupérer les valeurs des objets JSON peut conduire à des résultats problématiques. La première tentative d'utilisation de la commande Marshal génère une sortie numérique, tandis qu'une tentative ultérieure de stocker les valeurs JSON dans une structure et d'utiliser MarshalIndent aboutit à une sortie de chaîne.
Pour réussir, une valeur d'interface renseignée par json.Unmarshal doit être un pointeur. L'approche correcte est la suivante :
plan, _ := ioutil.ReadFile(filename) var data interface{} err := json.Unmarshal(plan, &data)
L'erreur "Unmarshal(nil)" observée lors de la première tentative indique un problème de lecture du fichier. Vérifier l'erreur renvoyée par ioutil.ReadFile est crucial.
De plus, l'utilisation d'une interface vide dans unmarshal nécessite une assertion de type pour accéder aux valeurs sous-jacentes en tant que types primitifs Go. Une approche supérieure consiste à définir une structure concrète à utiliser avec json.Unmarshal.
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!