var s = "{ "background-color": "#4a90e2", "margin": 10px }";
JSON.parse(s);
上面的代码抛出以下错误
未捕获到的SyntaxError:JSON中位置46处的意外令牌p
答案 0 :(得分:2)
您输入的字符串无效。
您不能将"
放在另一个"
10px
也是一个字符串,因此您需要使用引号将其换行
应该进行更改-
var s = '{ "background-color": "#4a90e2", "margin": "10px" }';
JSON.parse(s);
答案 1 :(得分:1)
您只需要在引号(“ 10px”)中包裹10像素,并确保在不同的引号之间切换以免打断字符串:
var s = '{ "background-color": "#4a90e2", "margin": "10px" }';
JSON.parse(s);
答案 2 :(得分:1)
当前,您的JSON语法以及JavaScript语法均不正确。
您的JSON应该具有作为字符串的键和作为字符串的值。目前,您的10px
不是字符串。您需要将其更改为"10px"
此外,用于对象键/值的字符串中的引号会破坏字符串本身。您可以使用反引号,反斜杠或单引号将字符串正确封装(不破坏字符串):
单引号:
var s = '{ "background-color": "#4a90e2", "margin": "10px" }';
反斜杠:
var s = "{\"background-color\": \"#4a90e2\", \"margin\": \"10px\"}";
反引号:
var s = `{ "background-color": "#4a90e2", "margin": "10px" }`;
请参见下面的工作示例:
var s = "{\"background-color\": \"#4a90e2\", \"margin\": \"10px\"}";
console.log(JSON.parse(s));
答案 3 :(得分:1)
您必须使用不同类型的引号!
这将起作用:'{ "background-color": "#4a90e2", "margin": "10px" }'
。
答案 4 :(得分:0)
首先,10px不应该是一个字符串吗?请调整一下...