If the only thing wrong with the JSON is property names without quotes, then it is still a valid JavaScript object literal even though it isn't valid JSON.
So, if you trust the source, you can wrap the text in parentheses and eval
it.
This will be simpler and more reliable than any regular expression.
Example:
var badJSON = '{ a: "b" }';
var obj = eval( '(' + badJSON + ')' );
console.log( obj ); // Logs: Object {a: "b"}
console.log( obj.a ); // Logs: b
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…