Неперехваченная синтаксическая ошибка: неожиданные токены в JSON в позиции 0 в JSON.parse ()

#javascript #json #local-storage

#javascript #json #локальное хранилище

Вопрос:

Я пытаюсь создать пользовательскую таблицу, которую можно хранить и получать доступ к ней через несколько сеансов на одном компьютере.

Однако каждый раз, когда я пытаюсь проанализировать строку JSON, которую я сохранил в localStorage, появляется ошибка.

Я пытался найти другие вопросы, похожие на этот, но не смог найти ничего, что казалось бы точной проблемой, с которой я столкнулся.

 if (localStorage.length > 0) {
  students = [localStorage.getItem(JSON.parse("students"))];
  addStudentToTable();
 

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

Комментарии:

1. localStorage.setItem(«студенты»,JSON.stringify([{name:»Abc»},{name:»Pqr»}])); JSON.parse(localStorage.students);

Ответ №1:

«students» определенно не является правильным JSON, поэтому неудивительно, что движок протестует JSON.parse("students") .

Вы, вероятно, хотите что-то вроде

   students = JSON.parse(localStorage.getItem("students"));