Comment lire et écrire des fichiers JSON dans Node.js
Il est possible de lire et d’écrire des fichiers JSON dans Node.js. Tout ce que vous avez à faire est d’utiliser le module fs comme détaillé dans notre guide facile à suivre.
Lire et écrire des fichiers JSON dans Node.js
Le format JavaScript Object Notation, communément appelé JSON, est un format de transfert de données léger largement utilisé pour représenter des données structurées. Il s’agit d’un format textuel facile à lire et à écrire pour les humains et facile à analyser et à générer pour les machines.
La possibilité de lire et d’écrire par programmation des fichiers JSON dans Node.js vous permet de stocker, d’échanger et de manipuler des données structurées efficacement et facilement. Apprenez à lire, écrire et mettre à jour des fichiers JSON à l’aide du module de système de fichiers de Node.js.
Le module de système de fichiers Node.js
Le système de fichiers Node.js (fs) est intégré à Node.js. Il vous permet d’interagir avec le système de fichiers de votre appareil. Vous pouvez l’utiliser pour lire le contenu d’un fichier, créer un nouveau fichier et supprimer un fichier, entre autres.
Les méthodes fournies par la classe fs peuvent être synchrones ou asynchrones. Les méthodes synchrones bloquent l’exécution de votre programme jusqu’à ce que l’opération du système de fichiers soit terminée. Ces méthodes portent généralement la mention « Sync » à la fin de leur nom. Par exemple, readFileSync ou writeFileSync.
En revanche, les méthodes asynchrones ne bloquent pas l’exécution de votre programme et lui permettent de continuer à traiter d’autres tâches pendant l’exécution de l’opération sur le système de fichiers. Ces méthodes acceptent une fonction de rappel qui sera exécutée lorsque l’opération sera terminée. Par exemple, lireFichier ou writeFile.
Lorsque vous interagissez avec le système de fichiers, vous devez toujours utiliser des méthodes asynchrones pour maintenir la nature non bloquante de la boucle d’événements et améliorer les performances et la réactivité de votre application.
Cependant, les méthodes synchrones ont leur place dans certains scénarios, en particulier lorsque vous écrivez des scripts simples ou que vous traitez des opérations de fichier uniques.
Lecture de fichiers JSON avec le module fs
Pour lire un fichier JSON, importez d’abord le module asynchrone fs dans votre fichier principal. Voici comment procéder :
Si vous utilisez une version inférieure à Node.js v18, importez le module fs comme suit :
Si vous voulez importer le module entier (Synchrone et Asynchrone), enlevez le symbole /promesses.
Vous pouvez lire un fichier JSON à l’aide de la balise readFile qui prend deux arguments : un chemin d’accès au fichier et un objet de configuration facultatif. L’argument config spécifie les options de lecture du fichier et peut être un objet avec des options ou un encodage de chaîne.
Les options de l’objet comprennent :
- encodage (chaîne de caractères(la valeur par défaut est « utf8 ») : Cette option spécifie le codage des caractères à utiliser lors de la lecture du fichier. Les encodages courants sont « utf8 » pour les fichiers texte et « binary » pour les fichiers binaires.
- drapeau (chaîne de caractères(la valeur par défaut est « r ») : Cette option spécifie l’indicateur du système de fichiers utilisé lors de l’ouverture du fichier. Les indicateurs courants sont « r » pour la lecture et « w » pour l’écriture.
Par exemple :
Ce code lit un fichier JSON appelé users.json dans le répertoire courant. Lorsque vous récupérez les données du fichier, vous pouvez les analyser à partir de JSON dans un objet JavaScript à l’aide de la commande JSON.parse. Cela vous permet d’accéder aux données et de les manipuler en tant qu’objet dans votre code.
Pour les petits fichiers JSON, vous pouvez utiliser exiger pour les lire de manière synchrone. Cette méthode analyse automatiquement les fichiers JSON en objets JavaScript. Pour les fichiers JSON plus volumineux et dans les scénarios non bloquants, utilisez la méthode fs.readFile pour les lire de manière asynchrone. En outre, l’utilisation de require met également en cache le contenu du fichier en mémoire, ce qui n’est pas idéal si votre fichier JSON change souvent.
Écrire des fichiers JSON avec le module fs
Vous pouvez écrire des données dans des fichiers JSON à l’aide du module writeFile à l’aide de la méthode writeFile Cette méthode prend trois arguments :
- Un chemin d’accès au fichier.
- Les données que vous souhaitez écrire dans le fichier, qui peuvent être une chaîne, une mémoire tampon, un fichier de type AsyncIterable ou un objet Iterable.
- Objet de configuration facultatif.
Cette méthode écrit de manière asynchrone des données dans un fichier. Si le fichier existe, elle écrase le contenu existant par le nouveau contenu. Si le fichier n’existe pas, elle le crée et le remplit avec les données que vous lui transmettez en tant qu’argument.
Par exemple :
Les données que vous transmettez à la fonction writeFile doivent être une chaîne de caractères ou un tampon, donc si vous voulez écrire un objet dans le fichier, vous devez d’abord le convertir en chaîne de caractères à l’aide de la fonction JSON.stringify à l’aide de la méthode JSON.stringify .
Mise à jour des fichiers JSON avec le module fs
La méthode fs ne fournit pas de moyen explicite de mettre à jour les fichiers, car l’écriture d’un fichier écrase toutes les données existantes.
Pour contourner ce problème, vous pouvez mettre à jour un fichier en récupérant d’abord le contenu existant du fichier à l’aide du module readFile à l’aide de la méthode readFile Ensuite, vous pouvez ajouter les données existantes à vos données actuelles et les passer comme argument de données dans la méthode writeFile
Voici une fonction qui met en œuvre la logique ci-dessus :
Vous pouvez appeler la fonction comme suit
Ce bloc de code ajoutera les utilisateurs avec les informations ci-dessus à la base de données existante users.json existant.
Considérations de sécurité pour la lecture et l’écriture de fichiers JSON
La protection de votre application Node.js lors de la lecture et de l’écriture de fichiers JSON implique des considérations de sécurité cruciales. Vous devez toujours valider les données JSON pour vous assurer qu’elles sont conformes à vos attentes. Vous devez également restreindre les autorisations d’accès aux fichiers et vérifier les données saisies par l’utilisateur afin de déjouer les vulnérabilités potentielles telles que l’injection de code.
Améliorez votre QI technologique grâce à nos lettres d’information gratuites
En vous abonnant, vous acceptez notre politique de confidentialité et pouvez recevoir des communications occasionnelles ; vous pouvez vous désabonner à tout moment.