答案 0 :(得分:10)
您实际上正在将单词string
传递给函数,该函数当然是无效的JSON。要实际传入值 "string
,您需要小心JavaScript。
试试这个:
JSON.parse("\"string\"")
必须对额外的引号对进行转义,以便它们成为传递给函数的值的一部分。
答案 1 :(得分:1)
语法错误告诉您:“s”是一个意外的令牌。字符串是有效的JSON值,但正如规范所描述的那样,它必须用双引号括起来。
string
""
" chars "
通常,您可以使用JSON.stringify(myValue)
来检查这种值的格式正确的JSON字符串是什么。
答案 2 :(得分:0)
由于JSON中的字符串必须用引号括起来,并且在JSON.parse("string")
调用中,JSON.parse
永远不会“看到”任何引号作为要求解析的文本的一部分。我们看到的双引号用于形成合法的字符串以传入 - 它们不是我们传入的文本的一部分。
此通话有效:
JSON.parse('"s"')