JSON.parse解析JSON.stringify输出但不解析字符串本身

Mos*_*sho 2 javascript parsing json

我在Chrome控制台中得到了这个:

JSON.stringify(({wat:"\""}))
> "{"wat":"\""}"
JSON.parse(JSON.stringify(({wat:"\""})))
> Object {wat: """}
JSON.parse('{"wat":"\""}')
> VM34235:1 Uncaught SyntaxError: Unexpected string in JSON at position 9(…)
Run Code Online (Sandbox Code Playgroud)

截图:

有心计

JSON.parseJSON.stringify({wat:"\""})当我尝试eval 时,在传递输出时成功解析但抛出JSON.parse('{"wat":"\""}').

我在叫恶作剧.

Mic*_*ski 5

引号字符必须使用两个反斜杠进行转义,如下所示:

JSON.parse('{"wat":"\\""}')
Run Code Online (Sandbox Code Playgroud)

当它只用一个反斜杠转义时,JSON.parse()实际得到以下值来解析:

{"wat":"""}
Run Code Online (Sandbox Code Playgroud)

这当然是无效的JSON.