このブログでは、Node.js 経由で JSON ファイルを読み取る方法について説明します。
Node.js で JSON ファイルを読み取る方法は?
選択した JSON ファイル データを Node.js で読み取るには 3 つの方法があります。取得したデータは、特定のポート番号を使用してコンソールまたは Web サイト上に表示できます。このセクションには、JSON ファイルを読み取るために考えられるすべての方法が含まれています。
前提条件:
実際の実装に進む前に、まず Node.js を使用して読み取る必要がある JSON タイプのファイルを確認します。私たちの場合、それは「 jsonデータ 」ファイルには次のデータが含まれています。
{
'名前' : 「アンダーソン」 、
'年' : 19 、
'性別' : '男' 、
'部門' : '化学' 、
'血液型' : 「B+」 、
'重さ' : 「72」 、
「スキル」 : 'プログラミング' 、
'位置' : 「ニューボストン」
}
方法 1: 「require()」メソッドを使用して Node.js で JSON ファイルを読み取る
ランダムな JSON タイプのファイルに保存されたデータを読み取るには、「 必要とする() 」メソッドを使用して、外部モジュールに存在する関数またはメソッドを取得します。かっこ内のモジュール名を受け取り、そのモジュールのメソッド、プロパティ、またはイベントを含むオブジェクトを返します。
同様に、このメソッドへの JSON ファイルのパスをバイパスすると、ファイルのデータ全体を含むオブジェクトが返されます。これは、Node.js であらゆる種類のファイルを読み取る最も単純かつ簡単な方法です。
まず、この方法を実際にデモンストレーションするために、「read.js」という名前のファイルを作成し、そのファイルに以下のコードを追加します。
jsonReadData にしましょう = 必要とする ( './jsonData.json' ) ;コンソール。 ログ ( jsonReadData ) ;
上記のコードでは次のようになります。
- JSON ファイルのパスは「」内に提供されます。 必要とする() 」メソッドをパラメータとして使用してデータを取得し、「jsonReadData」オブジェクトに保存します。
- ” console.log() 」メソッドを使用して、取得したデータをコンソールに表示します。
指定された「」を使用して「read.js」ファイルを実行します。 ノード ' 指示:
ノードファイル名以下の出力は、「」を使用して JSON ファイル データが取得されたことを示しています。 必要とする() ' 方法:
方法 2: 「readFile()」関数を使用して Node.js で JSON ファイルを読み取る
” readFile() 」は、ファイルデータを ファイルシステム(fs) 非同期の性質により実行プロセスをブロックすることはありません。また、コールバック関数を使用して、取得したデータに対して追加の関数を実行します。たとえば、JSON ファイルのデータを取得するために使用されます。
構文
「」の構文 readFile() ' の方程式 ' fs 」モジュールは次のように記述されています。
fsObj. ファイルの読み取り ( ファイル名、エンコードタイプ、カスタムコールバック関数 )上記の構文では次のようになります。
- ” fsObj 」は、「readFile()」関数を使用するための「fs」モジュールを呼び出すオブジェクトまたはインスタンスです。
- ” ファイル名 」は、「読み取る」必要がある特定のファイルです。
- ” エンコードタイプ 」は、utf8 などのエンコード タイプを指定するオプションのパラメータです。それが提供されない場合、データは「バッファ」として返されます。
- ” カスタムコールバック関数 」は、ファイルの読み込みが成功した後に実行される関数です。
同じ JSON ファイルのコンテンツが含まれる以下のコード ブロックを調べます。 jsonデータ ” は、” を使用して取得され、コンソール上に表示されます。 readFile() ' 方法:
定数 fsObj = 必要とする ( 「fs」 ) ;fsObj. ファイルの読み取り ( 「jsonData.json」 、 ( エラーが発生しました、内容 ) => {
もし ( エラーが発生しました ) 投げる エラーが発生しました ;
jsonData にしましょう = JSON。 解析する ( コンテンツ ) ;
コンソール。 ログ ( jsonデータ ) ;
} ) ;
コンソール。 ログ ( 「今後のプロセスの実行はブロックされません」 ) ;
上記のコードの説明は次のとおりです。
- まず、「 fs ” モジュールは現在の” にインポートされます read.js ” ファイルとそのオブジェクトは、” という名前の変数に格納されます。 fsObj ”。
- 次に、「」を呼び出します。 readFile() 」を使用した方法 fsObj 」変数を使用して、最初のパラメータとして JSON ファイルを渡し、2 番目のパラメータとしてコールバック関数を渡します。さらに、コールバック関数には 2 つのパラメータがあります。 エラーが発生しました ' そして ' コンテンツ ”。
- コールバック関数内で、「 もし ” ステートメントを使用してエラー処理を実行します。
- その後、「」を渡します。 コンテンツ 「」パラメータ JSON.parse() 」メソッドを使用してデータを JSON 形式に変換し、可読性を高めます。
- 結局のところ、外では」 readFile() 」メソッドは、前のプロセスが実行されるまで次のプロセスをブロックしないことを確認するために、コンソールにランダムなテキストを表示します。
次に、以下のコマンドを使用して「read.js」ファイルを実行します。
ノード読み取り出力は、次のプロセスの実行をブロックすることなく、JSON データが正常に取得されたことを示しています。
方法 3: 「readFileSync()」関数を使用して Node.js で JSON ファイルを読み取る
” readFileSync() 」機能も提供されています。 ファイルシステム(fs) ファイルを同期的に読み取るモジュール。割り当てられたタスクが完了するまでプログラムの実行を停止します。言い換えれば、それは先着順の方法論に従います。議論されているのとはまったく逆です」 readFile() ' 関数。
構文
「readFileSync()」メソッドの構文は次のとおりです。
fsObj. readFileSync ( ファイルパス、エンコードタイプ )上記の構文では次のようになります。
- ” ファイルパス 」には、選択したファイルのパスが含まれます。
- ” エンコードタイプ 」は、要件に従ってエンコード タイプを指定します。
定義されたメソッドの実装は、以下のコードで説明されています。
定数 fsObj = 必要とする ( 「fs」 ) ;コンテンツを聞かせてください = fsObj. readFileSync ( 「jsonData.json」 ) ;
jsonData にしましょう = JSON。 解析する ( コンテンツ ) ;
コンソール。 ログ ( jsonデータ ) ;
コンソール。 ログ ( 「今後のプロセスの実行がブロックされました」 ) ;
上記のコード ブロックの説明は次のとおりです。
- まず、「」をインポートします fs ”モジュールを作成し、変数”にオブジェクトとして格納します。 fsObj ”。
- 次に、「」を呼び出します。 readFileSync() ” 関数を使用し、パラメータとして JSON ファイル名を渡します。変数「」に格納されている指定されたファイルのデータを返します。 jsonデータ ”。
- データを読み取り可能な形式で表示するには、「 JSON.parse() 「」に保存されているファイルの内容に対する「メソッド」 コンテンツ ” 変数を取得してコンソールに表示します。
最後に、ファイルを実行して出力を確認します。
ノード読み取り出力には、今後のプロセスをすべてブロックすることによって JSON ファイル データが表示されていることがわかります。
このガイドでは、Node.js で JSON ファイルを読み取る方法について説明しました。
結論
Node.js で JSON ファイル データを読み取るには、「 必要とする 」メソッドを使用して、任意のファイル タイプまたは外部モジュールのデータを取得します。さらに、「 readFile() ' そして ' readFileSync() 「」の機能 fs 」モジュールを使用してこのタスクを実行することもできます。これらの関数を使用してファイル データを取得したら、「 JSON.parse() 」メソッドを使用して、コンテンツを読みやすくします。このガイドでは、Node.js で JSON ファイルを読み取るのに役立つメソッドと関数について説明しました。