##はじめに
前回は、 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を定義し、代入しておきましょう。
const person = {
name: "Taro",
age: 25
}
次に、このデータをJSONファイルに変換してみます。
変換には、JSON.stringify()というメソッドを使います。データは変数のpersonJSONに代入しておきます。
const person = {
name: "Taro",
age: 25
}
const personJSON = JSON.stringify(person)
データがJSON化されたので、これをファイルに書き出します。ファイルの操作を行うには、fsモジュールを使います。requireを用いて、fsモジュールを使えるようにします。
また。ファイルを作成するには、writeFileSync(ファイル名, データ)を使います。今回は、info.jsonという名前のファイルを作成します。
const fs = require('fs')
const person = {
name: "Taro",
age: 25
}
const personJSON = JSON.stringify(person)
fs.writeFileSync('info.json', personJSON)
以下のようなJSONファイルが作成されたら、完成です。
{"name":"Taro", age:25}
##JSONファイルを読み込む
今度は作成したJSONファイルを読み込んで、consoleに出力してみます。
新しくread.jsを作って試してみます。readFileSync(ファイル名)を用いて、データを取り出します
const fs = require('fs')
//データを取りだす
const bufferData = fs.readFileSync('info.json')
ただし、この状態ではデータはバイト列なので、文字に変換する必要があります。
const fs = require('fs')
//データを取りだす
const bufferData = fs.readFileSync('info.json')
// データを文字列に変換
const dataJSON = bufferData.toString()
最後に、データをJavascriptのオブジェクトに変換する処理をしてから、consoleに出力します。
const fs = require('fs')
//データを取りだす
const bufferData = fs.readFileSync('info.json')
// データを文字列に変換
const dataJSON = bufferData.toString()
//JSONのデータをJavascriptのオブジェクトに
const data = JSON.parse(dataJSON)
console.log(data)
コードを実行し、ターミナルに、以下のように出力されれば、完成です。
node read.js
{ name: 'Taro', age: 25 }
また、データをJavascriptのオブジェクトに変換しているので、以下のように要素を取り出すこともできます。
const fs = require('fs')
//データを取りだす
const bufferData = fs.readFileSync('info.json')
// データを文字列に変換
const dataJSON = bufferData.toString()
//JSONのデータをJavascriptのオブジェクトに
const data = JSON.parse(dataJSON)
const name = data.name
const age = data.age
console.log(data.name + ' is '+ data.age + ' years old.')
node read.js
Taro is 25 years old.