我正在尝试从使用文件上传器输入上传的CSV文件中接收的数据创建一个JSON文件。
我已经在JavaScript中找到了许多此类文章,但在TypeScript中它们对我来说并不完全有效。
当我运行下面的代码时,我收到的错误是 csv.Split 不是一个函数,有没有人有任何想法如何修改我的代码使其工作。
如果您需要更多信息,请告诉我。谢谢提前。
component.ts
public testFile() {
var file = (<HTMLInputElement>document.getElementById('fileInput')).files[0];
var jsonFile = this.csvJSON(file);
// Set Http POST options
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
// Call Api with test connection data
this.http
.post('/api/TestConnection/TestConnection', jsonFile, options)
.subscribe(data => {
// alert request ok
alert('ok');
}, error => {
// Log error
console.log(error.json());
});
}
public 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
return JSON.stringify(result); //JSON
}
FileReader.readAsText
来读取文件,然后将其发送到csvJSON
方法。 - Aleksey L.