Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSON在包含嵌入JSON的脚本标记时引发错误_Javascript_Html_Json - Fatal编程技术网

Javascript JSON在包含嵌入JSON的脚本标记时引发错误

Javascript JSON在包含嵌入JSON的脚本标记时引发错误,javascript,html,json,Javascript,Html,Json,这是我的脚本,用于测试 <script> var json = { "html": "<h3>COVID-19 Visitor Declaration</h3><script></script>" }; </script> 现在,如果我将脚本更改为其他内容,错误就会消失 <script> var json = { "html": &

这是我的脚本,用于测试

<script>
var json = {
     "html": "<h3>COVID-19 Visitor Declaration</h3><script></script>"
};
</script>
现在,如果我将脚本更改为其他内容,错误就会消失

<script>
var json = {
     "html": "<h3>COVID-19 Visitor Declaration</h3><scripta></scripta>"
};
</script>

var json={
“html”:“新冠病毒-19访客声明”
};

我怎样才能让脚本标记作为有效的JSON通过,我猜这与安全性有关。

您必须将代码更新为:

<script>
    var json = {
        "html": "<h3>COVID-19 Visitor Declaration</h3><script><\/script>"
    };
</script>

var json={
“html”:“新冠病毒-19访客声明”
};

转义标记对此最为重要。

通过使用
转义
字符,用于结束标记

var json={
“html”:“新冠病毒-19访客声明”
};
document.getElementById(“html内容”).innerHTML=json.html

但是为什么这样做呢?因为它没有被解释为脚本@rukiman一旦你设置了脚本标签,你的浏览器就需要javascript。例如,使用不同的标记与使用图像标记没有什么不同。它不是“保留的”,它不是json,它是一个对象文本。感谢这有意义,所以真正的问题是html解析器在看到脚本时会感到困惑,尽管脚本是字符串。有趣。
<script>
    var json = {
        "html": "<h3>COVID-19 Visitor Declaration</h3><script><\/script>"
    };
</script>