问题
JSON.parse可以将一个字符串转为支持的类型,但前提是 需要符合JSON规范,假如想要将不带引号(也就是不符合JSON规范)的、长得像对象的字符串,转为对象,应该怎么做呢?
JSON.parse('{"a": 1}'); // 得到{a: 1}
JSON.parse('{a: 1}'); // Uncaught SyntaxError: Unexpected token a in JSON at position 1
eval('{a: 1}'); // 得到1
预期
SmartParse('{a: 1}'); // 得到 {a: 1} 或者 {"a": 1}