Maison  >  Article  >  développement back-end  >  Comment lire un fichier JSON en tant qu'objet JSON dans Go ?

Comment lire un fichier JSON en tant qu'objet JSON dans Go ?

DDD
DDDoriginal
2024-11-10 11:34:03942parcourir

How to Read a JSON File as a JSON Object in Go?

Lecture de fichiers JSON en tant qu'objets JSON dans Go

En Go, la lecture d'un fichier JSON en tant qu'objet JSON nécessite une manipulation spécifique du fait de l'utilisation de pointeurs dans la fonction Unmarshal.

Échec Tentatives :

Votre tentative initiale a échoué car la variable de données ne pointait pas vers une adresse mémoire valide pour les valeurs JSON à stocker.

Votre deuxième tentative a stocké les valeurs JSON en tant que chaîne, qui empêche l'accès direct aux propriétés d'objet spécifiques.

Approche correcte :

Pour lisez un fichier JSON en tant qu'objet JSON, suivez les étapes suivantes :

  1. Lisez le fichier dans une tranche d'octets à l'aide d'ioutil.ReadFile :

    plan, _ := ioutil.ReadFile(filename)
  2. Créez un pointeur vers une interface vide (c'est là que seront les valeurs JSON stocké) :

    var data interface{}
  3. Utilisez json.Unmarshal pour décoder les données JSON dans le pointeur d'interface :

    err := json.Unmarshal(plan, &data)

Remarque :

  • Il est important de vérifier l'erreur renvoyée par ReadFile et Annuler le marshal.
  • Pour accéder aux propriétés d'objet spécifiques, vous devrez utiliser l'assertion de type sur l'interface de données.
  • Envisagez d'utiliser une structure concrète pour annuler le marshalage des données JSON pour un accès plus structuré aux propriétés de l'objet. .

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