我正在读取javascript中的csv文件,首先用换行符拆分然后用逗号表示。 我能够成功解析整个csv,但只留下一件事。即 最后一个
我不知道如何删除那些\ r。我正在使用的代码是
function csvJSON(csv){
var lines=csv.split("\n");
var result = [];
var headers=lines[0].split(",");
for(var i=1;i<lines.length;i++){
var obj = {};
var currentline=lines[i].split(",");
for(var j=0;j<headers.length;j++){
obj[headers[j]] = currentline[j];
}
result.push(obj);
}
return result; //JavaScript object
}
答案 0 :(得分:2)
按standard CSV行以CRLF('\ r \ n')结束。但是,如果你期望支持非标准线结尾也会测试其他人:
var lines=csv.split(/\r\n|\n|\r/);
答案 1 :(得分:0)
尝试此查询,
function csvJSON(csv){
var lines=csv.replace(/(\r\n|\n|\r)/gm,"");
var result = [];
var headers=lines[0].split(",");
for(var i=1;i<lines.length;i++){
var obj = {};
var currentline=lines[i].split(",");
for(var j=0;j<headers.length;j++){
obj[headers[j]] = currentline[j];
}
result.push(obj);
}
return result; //JavaScript object
}
答案 2 :(得分:0)
使用trim()
删除\r
obj[headers[j].trim()] = currentline[j].trim();
答案 3 :(得分:-1)
尝试以下代码
var data='{"batting_score":"52","wickets":"0","runs_conceded":"12","catches":"0","stumps":"0","opposition":"v Pakistan","ground":"Dhaka","date":"18-Mar-12","match_result":"won","result_margin":"6 wickets","toss":"lost","batting_innings":"2nd"}'.replace(/\r/g,'');
var JsonData=JSON.parse(data);
现在您可以访问以下属性
JsonData.batting_score //52