Мое приложение загружает файл .json пользователя pc:
app.component.html
<div class="file btn btn-lg btn-primary">
Upload
<input type="file" class="upload" (change)="changeListener($event.target.files)">
</div>
В моем app.component.ts
user: User;
userArray: Array<User>;
fileList: Array<any>;
ngOnInit() {
this.user = new User();
this.userArray= Array<User>();
this.fileList= Array<any>();
}
ТОГДА метод получения файла:
public changeListener(files: FileList) {
if (files && files.length > 0) {
let file: File = files.item(0);
let reader: FileReader = new FileReader();
reader.readAsText(file);
reader.onload = (e) => {
let loadFile: string = reader.result;
JSON.stringify(loadFile)
this.fileList = loadFile.split('\r\n');
if (this.fileList.length > 0) {
for (const i of this.fileList) {
if (i !== null) {
this.user = i; //--I THINK HERE IS MY PROBLEM--
this.userArray.push(this.user); //----HERE IS UNDEFINED
console.log('user - ', this.user);
} else {
console.log('NULL');
}
}
console.log('userArray - ', this.userArray.length); //---BUT HERE SHOW SIZE OF .JSON LOADED
}
}
}
Мой вопрос: Как преобразовать 'i' в объекте User? Или fileList в массиве пользователя?
мой user.class имеет те же свойства json.file ... Я вижу много ответов, но ничего не работает.
Мой файл json представляет собой список:
{"DATE ":"22/04/2018","HOUR ":"03:00:55","YEAR ":2014,"NUM_TURN (*) ":1,"DESC_E (*) ":"Gerais 2014","SIGLA_UF ":"SE","SIGLA_UE (*) ":"SE", ...e more others 15 properties}