根据JSON规范,字符串是合法的JSON值。
那么这是为什么呢?
JSON.parse("\"string\"")
额外的引号必须被转义,这样它们才能成为传递给函数的值的一部分。
string
""
" chars "
JSON.stringify(myValue)
来检查此值的正确格式化的JSON字符串。JSON.parse("string")
调用中,JSON.parse
从未将任何引号视为要解析的文本的一部分。我们看到的双引号被用于形成一个合法的字符串以传递进去 - 它们不是我们传递进去的文本的一部分。
这个调用可以正常工作:
JSON.parse('"s"')
JSON.parse('"aa\"bb"')
?如何转义双引号? - mikep