javascript - 如何将 CSV 数据转换为 JSON 数据?

标签 javascript json csv

我编写了从设备获取数据的代码。 数据的形式为csv。以下是数据值。

1,1.635946,1.636609,1.640240,1.636091

2,1.642825,1.640267,1.639013,1.636568

3,1.636835,1.636022,1.637664,1.637144

4,1.641332,1.641166,1.637950,1.640760

5,1.636041,1.637437,1.640702,1.633678

但我想要 json 格式的数据。所以我尝试使用 online converter并得到以下值:

[

 {

   "1": 2,

   "1.635946": 1.642825,

   "1.636609": 1.640267,

   "1.640240": 1.639013,

   "1.636091": 1.636568

 },

 {

   "1": 3,

   "1.635946": 1.636835,

   "1.636609": 1.636022,

   "1.640240": 1.637664,

   "1.636091": 1.637144

 }

]

如果我想获取这些值,我应该修改代码的哪些部分?

下面是我的代码。

var Timer;
var i = 0 ;
    setTimeout(function(){
        Timer = setInterval(function(){

            port.write(meascommand+'\n');
            i++;

            if(i==5){
                clearInterval(Timer);
            }
        },5000);
    },1000);

port.on('data',function(devicevalue){
    arrayvalue = devicevalue.toString();
    eachvalue = arrayvalue.split(';');
var results = [];

            var index = i ; 
            var ch0value = eachvalue[0] ; 
            var ch1value = eachvalue[1] ; 
            var ch2value = eachvalue[2] ; 
            var ch3value = eachvalue[3] ; 

            results[0] = index ;
            results[1] = ch0value ;
            results[2] = ch1value ;
            results[3] = ch2value ;
            results[4] = ch3value ;

            console.log(results);

            fs.appendFile(file,results+'\r\n',function(err){
                if(err)
                    console.log(err);
            });
        });

};

最佳答案

function processFiles(files) {
    var file = files[0];
    var reader = new FileReader();
    reader.onload = function (e) {
        var output = document.getElementById("fileOutput");
        var texto = e.target.result;
        csvJSON(texto);
    };
    reader.readAsText(file);
}
function csvJSON(csv) {
    var lines = csv.split("\n");
    var result = [];
    var headers;
    for (var i = 0; i < lines.length; i++) {
        headers = lines[i].split("\n");
    }
    var cont = 0;
    for (var i = 0; i < lines.length; i++) {

        var obj = {};
        var currentline = lines[i].split("\n");
        for (var j = 0; j < headers.length; j++) {
            obj[cont] = currentline[j];
        }
        cont++;
        result.push(obj);
    }

    return JSON.stringify(result); //JSON
}

关于javascript - 如何将 CSV 数据转换为 JSON 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49485514/

相关文章:

javascript - 如何使用值元素作为第二个元素的键?

php - 如何从 csv 字符串创建数组?

python - 如何使用Python对这个CSV文件进行排序(3)

javascript - Ember.js 中查询参数的 URL 编码

javascript - 启动时默认打开 Firefox Web 控制台?

javascript - 测试 angularJS ui-router 解析函数

javascript - 寻找一种迭代具有此约束的项目的算法

python - 使用 python 搜索 json 中的值

javascript - C3js时间序列无法显示连续线

java - 哪个 opencsv 版本与 Java 6 兼容