Maison  >  Article  >  interface Web  >  Comment modifier le contenu du fichier json dans nodejs

Comment modifier le contenu du fichier json dans nodejs

PHPz
PHPzoriginal
2023-04-17 16:38:152189parcourir

Avec la popularité des applications Web, le langage de programmation JavaScript ne se limite plus au langage de script côté navigateur. Node.js est un environnement d'exécution back-end écrit en JavaScript. Il utilise le moteur V8 pour interpréter et exécuter du code JavaScript, offrant une expérience de développement extrêmement efficace et pratique. Dans Node.js, la modification du contenu des fichiers JSON est l'une des tâches courantes. Dans cet article, nous présenterons comment utiliser Node.js pour modifier le contenu d'un fichier JSON.

Qu'est-ce que JSON ?

JSON (JavaScript Object Notation) est un format d'échange de données léger qui est étendu à partir des structures d'objets et de tableaux du langage JavaScript. En JSON, les données sont représentées sous forme de paires clé-valeur. Les données au format JSON sont généralement utilisées pour la transmission de données dans les applications Web, mais elles sont également largement utilisées dans la journalisation, les fichiers de configuration et d'autres scénarios.

Environnement de développement et préparatifs

Avant de commencer à modifier le fichier JSON, nous devons disposer d'un environnement de développement Node.js de base. Si vous n'avez pas installé Node.js, vous pouvez visiter le site officiel https://nodejs.org/ et télécharger le package d'installation pour la plate-forme correspondante. Une fois l'installation terminée, ouvrez un terminal ou une console et entrez la commande suivante pour. vérifiez la version :

node -v

Si les informations de version de Node.js peuvent être correctement affichées, l'installation est réussie.

En préparation, nous avons également besoin d'un fichier JSON à titre d'exemple. Voici un exemple de fichier nommé config.json :

{
  "server": {
    "port": 8080,
    "hostname": "localhost"
  },
  "database": {
    "host": "localhost",
    "port": 3306,
    "username": "root",
    "password": "password",
    "database": "example_db"
  }
}

Ce qui précède est un fichier JSON typique, qui contient deux clés de niveau supérieur : le serveur et la base de données. La clé du serveur contient deux sous-clés : port et nom d'hôte, et la clé de base de données contient cinq sous-clés : hôte, port, nom d'utilisateur, mot de passe et base de données.

Lire le contenu du fichier JSON

Avant de commencer à modifier le fichier JSON, nous devons d'abord lire son contenu et l'analyser dans un objet JavaScript. Node.js fournit un module fs (File System) intégré qui peut être utilisé pour lire et écrire des fichiers. Voici un exemple de code qui lit le contenu du fichier config.json :

const fs = require("fs");

const configPath = "./config.json";

fs.readFile(configPath, "utf8", (err, data) => {
  if (err) {
    console.error(err);
    return;
  }

  const config = JSON.parse(data);
  console.log(`Server port: ${config.server.port}`);
  console.log(`Database host: ${config.database.host}`);
});

Dans le code, le module fs est d'abord introduit et la variable configPath est définie pour stocker le chemin relatif du fichier config.json. Le contenu du fichier est ensuite lu à l'aide de la méthode fs.readFile() et le contenu est renvoyé sous forme de chaîne codée en UTF-8. Une fois la lecture terminée, nous utilisons la méthode JSON.parse() pour analyser la chaîne dans un objet JavaScript et afficher les valeurs​​de deux des propriétés.

Modifier le contenu du fichier JSON

Il existe deux manières de modifier le contenu du fichier JSON : l'une consiste à modifier l'objet JavaScript directement dans la mémoire puis à l'écrire dans le fichier ; paire clé-valeur dans le fichier JSON et écrivez-la dans un fichier. Ces deux méthodes sont présentées ci-dessous.

Méthode 1 : Modifier l'objet JavaScript en mémoire

Dans Node.js, le contenu analysé du fichier JSON est un objet JavaScript. Il suffit de modifier la valeur d'attribut de l'objet en mémoire, puis de l'écrire dans le fichier. . Ceci termine la modification du fichier JSON. Voici un exemple de code qui modifie le numéro de port du serveur dans config.json en 8888 :

const fs = require("fs");

const configPath = "./config.json";

fs.readFile(configPath, "utf8", (err, data) => {
  if (err) {
    console.error(err);
    return;
  }

  const config = JSON.parse(data);
  config.server.port = 8888;

  const updatedConfig = JSON.stringify(config, null, 2);

  fs.writeFile(configPath, updatedConfig, (err) => {
    if (err) {
      console.error(err);
      return;
    }

    console.log("Config file updated successfully.");
  });
});

Dans le code, nous lisons d'abord le contenu du fichier config.json, l'analysons dans un objet JavaScript et le stockons dans la configuration. variable. Changez ensuite le numéro de port de 8080 à 8888 en modifiant l'attribut server.port de l'objet de configuration. Utilisez ensuite la méthode JSON.stringify() pour convertir l'objet modifié en chaîne JSON et définissez l'indentation sur 2 espaces pour une lecture plus facile. Enfin, utilisez la méthode fs.writeFile() pour écrire la chaîne JSON mise à jour dans le fichier config.json.

Méthode 2 : Modifier les paires clé-valeur dans le fichier JSON

Si nous avons seulement besoin de modifier une certaine paire clé-valeur dans le fichier JSON, plutôt que l'intégralité du contenu du fichier, nous pouvons directement lire le fichier JSON et modifier la paire clé-valeur spécifiée et réécrivez-la dans le fichier. Voici un exemple de code pour changer le mot de passe de la base de données dans config.json en new_password :

const fs = require("fs");
const configPath = "./config.json";

fs.readFile(configPath, "utf8", (err, data) => {
  if (err) {
    console.error(err);
    return;
  }

  const config = JSON.parse(data);
  config.database.password = "new_password";

  const updatedConfig = JSON.stringify(config, null, 2);

  const options = { flag: "w" };
  fs.writeFile(configPath, updatedConfig, options, (err) => {
    if (err) {
      console.error(err);
      return;
    }

    console.log("Config file updated successfully.");
  });
});

Dans le code, nous lisons d'abord le contenu du fichier config.json, l'analysons dans un objet JavaScript et le stockons dans la variable de configuration. . Changez ensuite le mot de passe de password en new_password en modifiant l'attribut database.password de l'objet de configuration. Utilisez ensuite la méthode JSON.stringify() pour convertir l'objet modifié en chaîne JSON et définissez le retrait sur 2 espaces. Enfin, utilisez la méthode fs.writeFile() pour réécrire la chaîne JSON mise à jour dans le fichier config.json et utilisez l'indicateur w pour indiquer l'écrasement du fichier d'origine.

Résumé

L'utilisation de Node.js pour modifier le contenu d'un fichier JSON se divise généralement en deux méthodes : modifier les objets JavaScript en mémoire ou modifier directement les paires clé-valeur dans le fichier JSON. Le premier permet de modifier l'intégralité du fichier JSON et le second permet de modifier uniquement une certaine paire clé-valeur. Pendant l'opération, vous devez faire attention aux détails tels que le format du fichier JSON et les fonctions de rappel pour la lecture et l'écriture des fichiers. Après avoir maîtrisé ces compétences, nous pouvons facilement utiliser Node.js pour modifier le contenu des fichiers JSON.

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