JSON.parse - 带有构造的JSON字符串的“意外令牌”

时间:2015-11-28 17:03:22

标签: javascript json parsing syntax token

抛出:“未捕获的SyntaxError:意外的令牌n(...)” ...

var text = "notation: 'fixed', precision: 2";
JSON.parse("{" + text + "}");

没有关于为何或如何安全解析的线索。

2 个答案:

答案 0 :(得分:3)

您应该先尝试a linter

问题是您在text中使用单引号作为键/值或根本不使用。

您的text应该是:

var text = '"notation": "fixed", "precision": "2"';

答案 1 :(得分:1)

你错了JSON,你应该把键包装成双引号,比如这个



var text = "notation: 'fixed', precision: 2";
text = text.replace(/\'/g, '"').replace(/(\w+):/g, '"$1":');
console.log( JSON.parse("{" + text + "}") );