Javascript 将csv文件数据转换为json数据

Javascript 将csv文件数据转换为json数据,javascript,node.js,Javascript,Node.js,我使用csvtojson转换器以json格式进行转换 var csvFileName = path; //path== filepath var csvConverter = new Converter(); csvConverter.on("end_parsed", function (jsonObj) { console.log('in json object', jsonObj); }); csvConverter.from(csvFileName); 我在c

我使用csvtojson转换器以json格式进行转换

var csvFileName = path; //path== filepath

 var csvConverter = new Converter();

 csvConverter.on("end_parsed", function (jsonObj) {

 console.log('in json object', jsonObj);


   });



csvConverter.from(csvFileName);
我在csv文件中使用批量导出和导入数据。如果我只导入csv文件而不更改导出的csv文件,那么csvtojson解析器将正确地解析json格式的数据。如

{ csvRows: 
   [ { id: '51f21e7c60c058bc54000001',
       name: 'dummy product',
       alias: 'dummy-product1111111111',
       description: 'Lorem Ipsumuuu',
       images: '',
       price: '55',
       compare_price: 'undefined',
       collections: 'undefined',
       brand: 'undefined',
       quantity: 'undefined',
       sku: 'undefined',
       barcode: 'undefined',
       categories: '',
       publish: '1',
       variants: undefined,
       state: undefined,
       avg_rating: undefined,
       num_reviews: undefined,
       weight: undefined,
       free_product: undefined,
       option_set: undefined }]
但当我修改csv文件并导出csvtojson解析器数据时,使用这种格式-

{ csvRows: 
   [ {  { 'id\tname\talias\tdescription\timages\tprice\tcompare_price\tcollections\tbrand\tquantity\tsku\tbarcode\tcategories\tpublish\tvariants\tstate\tavg_rating\tnum_reviews\tweight\tfree_product\toption_set': '525ba1b3f96404a56a000006\tbraclet12\tbraclet12\tundefined\t\t100\tundefined\tundefined\tundefined\tundefined\tundefined\tundefined\tundefined\t\t\t\t\t\t\t\t' }];
是否有任何方法可以正确地将csv文件数据解析为json格式


谢谢。

您可以通过终端使用以下js文件。我认为这是不言自明的。如果没有,请写评论,我会解释

'use strict';

var fs = require('fs'),
    args = process.argv.slice(2),
    seperator = ',',
    input = fs.readFileSync('input.csv', {encoding: 'UTF-8'}),
    lines = input.split('\n'),
    output = [],
    props = lines.shift().trim().split(seperator),
    i, j,
    values,
    obj;

for (i = 0; i < args.length - 1; i++) {
    if (args[i] === '-s' || args[i] === '--seperator') {
        seperator = args[i + 1];
    }
}

for (i = 0; i < lines.length; i++) {
    if (lines[i].length > 0) {
        obj = {};
        values = lines[i].split(seperator);
        for (j = 0; j < props.length; j++) {
            obj[props[j]] = values[j];
        }
        output.push(obj);
    }
}

fs.writeFileSync('output.json', JSON.stringify(output), {encoding: 'UTF-8'});
“严格使用”;
var fs=require('fs'),
args=process.argv.slice(2),
分隔符=',',
input=fs.readFileSync('input.csv',{encoding:'UTF-8'}),
lines=input.split('\n'),
输出=[],
支柱=线。移位()。修剪()。拆分(分离器),
i、 j,
价值观
obj;
对于(i=0;i0){
obj={};
值=行[i]。拆分(分隔符);
对于(j=0;j