Node.jsでrequire()モジュールを使ってJSONファイルを読み込む
Node.jsでJSONファイルを読み込む方法
require()モジュールを使う
最も簡単な方法は、require()
モジュールを使う方法です。
const data = require('./data.json');
// data変数には、JSONファイルの内容がオブジェクトとして格納されます。
console.log(data);
この方法を使う場合は、JSONファイルが同じディレクトリにあるか、パスが正しく設定されている必要があります。
fs
モジュールを使う方法は、より柔軟性があります。
const fs = require('fs');
fs.readFile('./data.json', 'utf-8', (err, data) => {
if (err) throw err;
// data変数には、JSONファイルの内容が文字列として格納されます。
const jsonData = JSON.parse(data);
console.log(jsonData);
});
この方法を使う場合は、ファイルのエンコーディングを指定する必要があります。
非同期処理
上記の例では、require()
モジュールとfs
モジュールどちらも同期処理でファイルを読み込みます。
同期処理は、ファイルを読み込むまで処理がブロックされます。ファイルサイズが大きい場合や、ネットワーク経由でファイルを読み込む場合は、非同期処理を使うのがおすすめです。
非同期処理には、fs.readFile()
の代わりにfs.promises.readFile()
を使うことができます。
const fs = require('fs');
(async () => {
try {
const data = await fs.promises.readFile('./data.json', 'utf-8');
const jsonData = JSON.parse(data);
console.log(jsonData);
} catch (err) {
console.error(err);
}
})();
Node.jsでJSONファイルを読み込むには、いくつかの方法があります。
それぞれの特徴を理解して、目的に合った方法を選びましょう。
require()モジュールを使う
const data = require('./data.json');
// data変数には、JSONファイルの内容がオブジェクトとして格納されます。
console.log(data);
{
"name": "John Doe",
"age": 30,
"address": {
"street": "123 Main Street",
"city": "New York",
"state": "NY",
"zip": "10001"
}
}
このコードを実行すると、次のような出力が得られます。
{
name: 'John Doe',
age: 30,
address: {
street: '123 Main Street',
city: 'New York',
state: 'NY',
zip: '10001'
}
}
fsモジュールを使う
const fs = require('fs');
fs.readFile('./data.json', 'utf-8', (err, data) => {
if (err) throw err;
// data変数には、JSONファイルの内容が文字列として格納されます。
const jsonData = JSON.parse(data);
console.log(jsonData);
});
data.json
{
"name": "John Doe",
"age": 30,
"address": {
"street": "123 Main Street",
"city": "New York",
"state": "NY",
"zip": "10001"
}
}
{
name: 'John Doe',
age: 30,
address: {
street: '123 Main Street',
city: 'New York',
state: 'NY',
zip: '10001'
}
}
非同期処理
const fs = require('fs');
(async () => {
try {
const data = await fs.promises.readFile('./data.json', 'utf-8');
const jsonData = JSON.parse(data);
console.log(jsonData);
} catch (err) {
console.error(err);
}
})();
{
"name": "John Doe",
"age": 30,
"address": {
"street": "123 Main Street",
"city": "New York",
"state": "NY",
"zip": "10001"
}
}
{
name: 'John Doe',
"age": 30,
"address": {
"street": "123 Main Street",
"city": "New York",
"state": "NY",
"zip": "10001"
}
}
Node.jsでJSONファイルを読み込むその他の方法
JSON.parse()
を使う方法は、最もシンプルで簡単な方法です。
const data = JSON.parse('{"name": "John Doe", "age": 30}');
// data変数には、JSON文字列の内容がオブジェクトとして格納されます。
console.log(data);
この方法を使う場合は、JSON文字列を直接コードに記述する必要があります。
xml2js
モジュールを使う方法は、XMLファイルからJSONファイルに変換する場合に便利です。
const xml2js = require('xml2js');
const parser = new xml2js.Parser();
parser.parseString('<xml><name>John Doe</name><age>30</age></xml>', (err, result) => {
if (err) throw err;
// result変数には、JSONオブジェクトが格納されます。
console.log(result);
});
この方法を使う場合は、xml2js
モジュールをインストールする必要があります。
const csvParser = require('csv-parser');
const parser = csvParser();
parser.on('data', (data) => {
// data変数には、JSONオブジェクトが格納されます。
console.log(data);
});
fs.createReadStream('./data.csv').pipe(parser);
javascript json node.js