ホームページ >ウェブフロントエンド >フロントエンドQ&A >Nodejsでjsonファイルの内容を変更する方法

Nodejsでjsonファイルの内容を変更する方法

PHPz
PHPzオリジナル
2023-04-17 16:38:152272ブラウズ

Web アプリケーションの人気に伴い、JavaScript プログラミング言語はブラウザ側のスクリプト言語に限定されなくなりました。 Node.js は JavaScript で書かれたバックエンド ランタイム環境であり、V8 エンジンを使用して JavaScript コードを解釈して実行し、非常に効率的で便利な開発エクスペリエンスを提供します。 Node.js では、JSON ファイルのコンテンツの変更は一般的なタスクの 1 つです。この記事では、Node.js を使用して JSON ファイルの内容を変更する方法を紹介します。

JSON とは何ですか?

JSON (JavaScript Object Notation) は、JavaScript 言語のオブジェクトおよび配列構造によって拡張された軽量のデータ交換形式です。 JSON では、データはキーと値のペアの形式で表されます。 JSON 形式のデータは通常、Web アプリケーションでのデータ送信に使用されますが、ログ記録、構成ファイル、その他のシナリオでも広く使用されています。

開発環境と準備

JSON ファイルの変更を開始する前に、基本的な Node.js 開発環境が必要です。 Node.js をインストールしていない場合は、公式 Web サイト https://nodejs.org/ にアクセスし、対応するプラットフォームのインストール パッケージをダウンロードします。インストールが完了したら、ターミナルまたはコンソールを開いて次のコマンドを入力します。バージョンを確認してください:

node -v

Node.js のバージョン情報が正しく出力できればインストールは成功です。

準備として、例として JSON ファイルも必要です。以下は、config.json という名前のサンプル ファイルです。

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

上記は典型的な JSON ファイルで、サーバーとデータベースという 2 つのトップレベル キーが含まれています。サーバー キーにはポートとホスト名の 2 つのサブキーが含まれており、データベース キーにはホスト、ポート、ユーザー名、パスワード、データベースの 5 つのサブキーが含まれています。

JSON ファイルの内容を読み取る

JSON ファイルの変更を開始する前に、まずその内容を読み取り、解析して JavaScript オブジェクトにする必要があります。 Node.js は、ファイルの読み取りと書き込みに使用できる組み込みの fs (ファイル システム) モジュールを提供します。以下は、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}`);
});

コードでは、最初に fs モジュールが導入され、configPath 変数が config.json ファイルの相対パスを格納するように定義されています。ファイル。次に、ファイルの内容が fs.readFile() メソッドを使用して読み取られ、その内容が UTF-8 でエンコードされた文字列として返されます。読み取りが完了したら、JSON.parse() メソッドを使用して文字列を JavaScript オブジェクトに解析し、2 つのプロパティの値を出力します。

JSON ファイルの内容を変更する

JSON ファイルの内容を変更するには 2 つの方法があります。1 つは、メモリ内の JavaScript オブジェクトを直接変更してから、それをファイルに書き込む方法です。 ; もう 1 つは、ファイル内の JSON A キーと値のペアを変更し、それをファイルに書き込むことです。以下にこれら 2 つの方法を紹介します。

方法 1: メモリ内の JavaScript オブジェクトを変更する

Node.js では、解析後の JSON ファイルの内容は JavaScript オブジェクトなので、オブジェクトの属性値を変更するだけで済みます。メモリ内に保存し、それをファイルに書き込むことで、JSON ファイルの変更が完了します。以下は、config.json のサーバー ポート番号を 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.");
  });
});

コードでは、まず config.json ファイルの内容を読み取り、それを解析して、次の場所に保存されている JavaScript オブジェクトに変換します。設定変数真ん中。次に、構成オブジェクトのserver.portプロパティを変更して、ポート番号を8080から8888に変更します。次に、JSON.stringify() メソッドを使用して、変更されたオブジェクトを JSON 文字列に変換し、読みやすいようにインデントを 2 つのスペースに設定します。最後に、 fs.writeFile() メソッドを使用して、更新された JSON 文字列を config.json ファイルに書き込みます。

方法 2: JSON ファイル内のキーと値のペアを変更する

ファイルの内容全体ではなく、JSON ファイル内の特定のキーと値のペアのみを変更する必要がある場合は、次のようにします。 JSON ファイルを直接読み取り、指定されたキーと値のペアを変更して、それらをファイルに書き戻すことができます。以下は、config.json のデータベース パスワードを 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.");
  });
});

コードでは、まず config.json ファイルの内容を読み取り、解析して JavaScript オブジェクトに格納します。設定変数に。次に、構成オブジェクトのdatabase.password属性を変更して、パスワードをpasswordからnew_passwordに変更します。次に、JSON.stringify() メソッドを使用して、変更されたオブジェクトを JSON 文字列に変換し、インデントを 2 つのスペースに設定します。最後に、 fs.writeFile() メソッドを使用して、更新された JSON 文字列を config.json ファイルに書き込み、 w フラグを使用して元のファイルを上書きすることを示します。

概要

Node.js を使用して JSON ファイルのコンテンツを変更する方法は、通常、メモリ内の JavaScript オブジェクトを変更する方法と、JSON ファイル内のキーと値のペアを直接変更する方法の 2 つに分けられます。前者は JSON ファイル全体の変更に適しており、後者は特定のキーと値のペアのみの変更に適しています。操作中は、JSON ファイルの形式やファイルの読み取りと書き込みのためのコールバック関数などの詳細に注意する必要があります。これらのスキルを習得すると、Node.js を使用して JSON ファイルのコンテンツを簡単に変更できるようになります。

以上がNodejsでjsonファイルの内容を変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。