为什么字符串化的JSON是有效的字符串

Why is stringified JSON a valid string?

本文关键字:字符串 有效 JSON 为什么      更新时间:2023-09-26

我们已经知道,我们不能在双引号中添加双引号:

var str = ""hello"";//这将是无效的字符串

但是当我把一个像这样的物体串起来时

var obj = {"name":"abc"}
var str = JSON.stringify(obj).
str // returns "{"name":"abc"}"

这是有效的,但不应该。我很困惑,因为当我们字符串化JSON对象并省略其上的字符串验证时,JavaScript是否有一些特殊情况?

提前谢谢。

您可以根据需要在字符串文本中包含任意多个双引号。您只需要使用反斜杠前缀(''"而不是")对它们进行scape即可。在浏览器控制台中尝试这个例子:

var myStr = "'"Hello'"";
myStr

您应该在控制台中看到""Hello""。这就是字符串创建一个包含双引号的字符串的方式。