如何使 JSON.parse 使用双引号字符串?

问题描述 投票:0回答:1

我试图理解 JSON.parse 围绕单/双引号的这种行为,以及如何解决它。

pref1 = '{"foo":true}'
pref2 = "{'foo':true}"
JSON.parse(pref1)
  => {foo: true}
JSON.parse(pref2)
  => VM2021:1 Uncaught SyntaxError: Expected property name or '}' in JSON at position 1 (line 1 column 2)

即使我用 \ 转义 pref2 中的单引号,我仍然会得到相同的错误。 为什么它只能作为单引号字符串使用? 有没有办法将 prefs2 转换为 JSON.parse 满意的格式?

谢谢

javascript json parsing double-quotes single-quotes
1个回答
0
投票

"{'foo':true}"
不是有效的 JSON。 JSON 键必须使用双引号。

如果你想用双引号声明你的字符串,你必须这样做:

const pref2 = "{\"foo\":true}"
console.log(JSON.parse(pref2))

© www.soinside.com 2019 - 2024. All rights reserved.