Simon Willison’s Weblog

Subscribe

How can I parse unquoted JSON with JavaScript?

4th February 2012

My answer to How can I parse unquoted JSON with JavaScript? on Quora

Unquoted JSON isn’t JSON—the JSON spec requires that strings are quoted (with double quotes, not single quotes).

If you have JSON with unquoted strings what you actually have is just plain JavaScript. So run eval() on it:

var obj = eval(’(’ + invalid_json + ’)’);

(adding the parentheses to the string ensures object literal syntax will be correctly handled).

Update: as pointed out in a comment, you should NOT do this if the JSON is from an untrusted source, especially if you are running the code in Node.js