方法1: 手動で変換する方法
function jsonToCsv(jsonData) {
let csvData = '';
// ヘッダー行を作成
const headers = Object.keys(jsonData[0]);
csvData += headers.join(',') + '\n';
// データ行を作成
jsonData.forEach((item) => {
const values = Object.values(item);
csvData += values.join(',') + '\n';
});
return csvData;
}
// 使用例
const jsonData = [
{ name: 'John', age: 30, city: 'Tokyo' },
{ name: 'Alice', age: 25, city: 'Osaka' },
{ name: 'Bob', age: 35, city: 'Kyoto' }
];
const csvData = jsonToCsv(jsonData);
console.log(csvData);
方法2: ライブラリを使用する方法
パッケージマネージャーを使用して、csv-parserとjson2csvというライブラリをインストールします。
npm install csv-parser json2csv
次に、以下のコードを使用してJSONをCSVに変換します。
const csv = require('json2csv');
const fs = require('fs');
const csvParser = require('csv-parser');
// JSONファイルを読み込み、JSONをパースしてオブジェクトに変換
fs.createReadStream('input.json')
.pipe(csvParser())
.on('data', (data) => {
// dataオブジェクトをCSV形式の文字列に変換
const csvData = csv.parse(data);
// 変換後のCSVデータをファイルに書き込み
fs.writeFileSync('output.csv', csvData);
})
.on('end', () => {
console.log('変換が完了しました。');
});
上記の例では、input.json
ファイルからJSONデータを読み込み、output.csv
ファイルに変換後のCSVデータを書き込んでいます。
これらはJSONをCSVに変換するための基本的な方法です。必要に応じて、独自の要件に合わせてコードをカスタマイズすることができます。