Загрузить файл JSON, используя Angular 6

Это точно правильно, потому что компилятор должен знать, какой тип он предназначен для распределения. Поэтому классы шаблонов, функции, перечисления и т. Д. Должны быть реализованы также в файле заголовка, если он должен быть опубликован или частично из библиотеки (статический или динамический), поскольку файлы заголовков НЕ скомпилированы в отличие от файлов c / cpp, которые находятся. Если компилятор не знает, что тип не может его скомпилировать. В .Net это возможно, потому что все объекты происходят из класса Object. Это не .Net.

1
задан Philip L 3 March 2019 в 16:49
поделиться

2 ответа

JSON.Stringify не работает для объектов File в TS / JS. Вы должны извлечь данные из файла и затем преобразовать их в строку. Например, извлеките содержимое файла в виде строки или массива строк, используя https://developer.mozilla.org/en-US/docs/Web/API/FileReader

0
ответ дан Daniel Prosianikov 3 March 2019 в 16:49
поделиться

Но когда я пытаюсь напечатать его содержимое, используя JSON.stringify, я получаю: {} (пустой файл).

Это не содержимое файла JSON. Это Файловый объект . Для чтения содержимого JSON необходимо использовать 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));
  }
  fileReader.onerror = (error) => {
    console.log(error);
  }
}
.
0
ответ дан Vadi 3 March 2019 в 16:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: