Угловая получить значение загруженного JSON - PullRequest
0 голосов
/ 14 июня 2019

Я создал веб-приложение, где пользователь может загрузить JSON.После этого он должен распечатать содержимое JSON.К сожалению, я всегда получаю пустой массив.

Вот мой JSON:

"06" : {
    "fallbackLabel" : "Adelholzener Gastro Classic mit Gas",
    "price"         : "0.30",
    "name"          : "0,25l"
},
"07" : {
    "fallbackLabel" : "Adelholzener Gastro Classic ohne Kohlensäure",
    "price"         : "0.30",
    "name"          : "0,25l"
}

, а вот мой код:

onFileSelected(event){
   this.selectedFile = event.target.files[0];
   this.http.get(this.selectedFile).subscribe(data => {
     console.log(this.selectedFile.text());
   })  
}

1 Ответ

1 голос
/ 14 июня 2019

HttpClient работает только с URL-адресами: вы не можете передать файл в метод get (https://angular.io/api/common/http/HttpClient#get).

Вы должны использовать FileReader:

onFileChanged(event) {
  this.selectedFile = event.target.files[0];
  const fileReader = new FileReader();
  fileReader.readAsText(this.selectedFile, "UTF-8");
  fileReader.onload = () => {
   console.log(JSON.parse(fileReader.result));
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...