Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Javascript JSON parsing error: Unexpected token ' in JSON at position 1

I'm not able to parse below string as JSON array:

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

JSON.parse(timeSlots);

Throws the following error:

VM163:1 Uncaught SyntaxError: Unexpected token ' in JSON at position 1

like image 340
Afsal KK Avatar asked Oct 07 '18 10:10

Afsal KK


3 Answers

In JSON, A name/value pair consists of a field name (in double quotes), followed by a colon, followed by a value.

Replace the single quotes with double quotes prefixing the escape (\) character:

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

console.log(JSON.parse(timeSlots));

OR: You can simply wrap the string with single quotes which will not require to escape the double quotes:

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

console.log(JSON.parse(timeSlots));
like image 59
Mamun Avatar answered Nov 07 '22 15:11

Mamun


Finally, Got the solution

var timeSlots = "['11AM-12PM', '1PM-2PM']";
timeSlots.replace(/'/g, '"');
console.log(JSON.parse(timeSlots));
like image 34
Afsal KK Avatar answered Nov 07 '22 15:11

Afsal KK


Try any of these

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

or

var timeSlots = '["11AM-12PM", "1PM-2PM"]';
like image 34
MyTwoCents Avatar answered Nov 07 '22 13:11

MyTwoCents