はじめに
前回は、 npmモジュールの使い方についてまとめました。
今回は、JSONファイルの作成と読み込みを記事にします。
教材
Udemy
The Complete Node.js Developer Course (3rd Edition)
https://www.udemy.com/course/the-complete-nodejs-developer-course-2/
データをJSONファイルに書き込む
まずは、app.jsファイルを作成して、Javascriptのオブジェクトを作成します。変数personを定義し、代入しておきましょう。
constperson={name:"Taro",age:25}
次に、このデータをJSONファイルに変換してみます。
変換には、JSON.stringify()というメソッドを使います。データは変数のpersonJSONに代入しておきます。
constperson={name:"Taro",age:25}constpersonJSON=JSON.stringify(person)
データがJSON化されたので、これをファイルに書き出します。ファイルの操作を行うには、fsモジュールを使います。requireを用いて、fsモジュールを使えるようにします。
また。ファイルを作成するには、writeFileSync(ファイル名, データ)を使います。今回は、info.jsonという名前のファイルを作成します。
constfs=require('fs')constperson={name:"Taro",age:25}constpersonJSON=JSON.stringify(person)fs.writeFileSync('info.json',personJSON)
以下のようなJSONファイルが作成されたら、完成です。
{"name":"Taro",age:25}
JSONファイルを読み込む
今度は作成したJSONファイルを読み込んで、consoleに出力してみます。
新しくread.jsを作って試してみます。readFileSync(ファイル名)を用いて、データを取り出します
constfs=require('fs')//データを取りだすconstbufferData=fs.readFileSync('info.json')
ただし、この状態ではデータはバイト列なので、文字に変換する必要があります。
constfs=require('fs')//データを取りだすconstbufferData=fs.readFileSync('info.json')// データを文字列に変換constdataJSON=bufferData.toString()
最後に、データをJavascriptのオブジェクトに変換する処理をしてから、consoleに出力します。
constfs=require('fs')//データを取りだすconstbufferData=fs.readFileSync('info.json')// データを文字列に変換constdataJSON=bufferData.toString()//JSONのデータをJavascriptのオブジェクトにconstdata=JSON.parse(dataJSON)console.log(data)
コードを実行し、ターミナルに、以下のように出力されれば、完成です。
node read.js
{ name: 'Taro', age: 25 }
また、データをJavascriptのオブジェクトに変換しているので、以下のように要素を取り出すこともできます。
constfs=require('fs')//データを取りだすconstbufferData=fs.readFileSync('info.json')// データを文字列に変換constdataJSON=bufferData.toString()//JSONのデータをJavascriptのオブジェクトにconstdata=JSON.parse(dataJSON)constname=data.nameconstage=data.ageconsole.log(data.name+' is '+data.age+' years old.')
node read.js
Taro is 25 years old.