Ошибка JSON-анализа JScript: Неожиданный токен в JSON в позиции 1

Я не могу разбирать строку ниже как массив JSON:

var timeSlots = "[ཇAM-12PM', ƇPM-2PM']";

JSON.parse(timeSlots);

Выдает следующую ошибку:

VM163: 1 Uncaught SyntaxError: Неожиданный токен в JSON в позиции 1

Всего 4 ответа


В JSON пара имя / значение состоит из имени поля (в двойных кавычках), за которым следует двоеточие, за которым следует значение.

Замените одинарные кавычки двойными кавычками, префиксными символом escape ( ):

 var timeSlots = "["11AM-12PM", "1PM-2PM"]"; console.log(JSON.parse(timeSlots)); 

ИЛИ: Вы можете просто обернуть строку одинарными кавычками, которые не потребуют избежать двойных кавычек:

 var timeSlots = '["11AM-12PM", "1PM-2PM"]'; console.log(JSON.parse(timeSlots)); 


Попробуйте любой из этих

var timeSlots = "["11AM-12PM", "1PM-2PM"]";

или же

var timeSlots = '["11AM-12PM", "1PM-2PM"]'

Наконец, получим решение

var timeSlots = "[ཇAM-12PM', ƇPM-2PM']";
timeSlots.replace(/'/g, '"');
console.log(JSON.parse(timeSlots));

JSON.parse ожидают двойные кавычки, но если это необходимо для изменения вашего ввода, вы можете использовать этот трюк:

 var timeSlots = "['11AM-12PM', '1PM-2PM']"; console.log(JSON.parse(JSON.stringify(timeSlots))); 


Есть идеи?

10000