Чтобы преобразовать файл CSV (значения, разделенные запятыми) в JSON (нотацию объектов JavaScript) с помощью TypeScript, существует несколько доступных методов. Вот несколько подходов, которые вы можете рассмотреть:
Метод 1: использование внешних библиотек
Вы можете использовать внешние библиотеки в своем проекте TypeScript, чтобы упростить процесс преобразования CSV в JSON. Одной из популярных библиотек является csvtojson. Сначала установите библиотеку, выполнив следующую команду в каталоге вашего проекта:
npm install csvtojson
Затем вы можете использовать библиотеку в своем коде TypeScript следующим образом:
import * as csvtojson from 'csvtojson';
async function convertCsvToJson(csvFilePath: string): Promise<any[]> {
const jsonArray = await csvtojson().fromFile(csvFilePath);
return jsonArray;
}
// Usage
convertCsvToJson('path/to/your/csv/file.csv')
.then(jsonArray => {
console.log(jsonArray); // JSON data
})
.catch(err => {
console.error(err);
});
Метод 2: преобразование вручную
Если вы предпочитаете не использовать внешние библиотеки, вы можете вручную реализовать преобразование CSV в JSON в TypeScript. Вот пример простой функции преобразования:
import * as fs from 'fs';
function convertCsvToJson(csvFilePath: string): any[] {
const csvData = fs.readFileSync(csvFilePath, 'utf-8');
const rows = csvData.split('\n');
const headers = rows[0].split(',');
const jsonData: any[] = [];
for (let i = 1; i < rows.length; i++) {
const currentRow = rows[i].split(',');
const jsonRow: any = {};
for (let j = 0; j < headers.length; j++) {
jsonRow[headers[j]] = currentRow[j];
}
jsonData.push(jsonRow);
}
return jsonData;
}
// Usage
const jsonArray = convertCsvToJson('path/to/your/csv/file.csv');
console.log(jsonArray); // JSON data