Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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 如何转义对象中的所有双引号_Javascript_Html_Json - Fatal编程技术网

Javascript 如何转义对象中的所有双引号

Javascript 如何转义对象中的所有双引号,javascript,html,json,Javascript,Html,Json,我有很多HTML标记,它们在我的代码中被硬编码为字符串。我想将它们移动到一个单独的模块中,这样我就可以将它们作为变量使用 当我使用JSON.parse(HTMLTags)解析对象时,我得到了一个错误 JSON中意外的令牌x 我知道这是因为双引号,我知道我可以用反斜杠来逃避它们。但是这太多了,因为它们有很多标签。还有别的办法吗 export const HTMLTags = `{ "h1s": { "greating1": "<h1 id="ms1" class="ms

我有很多HTML标记,它们在我的代码中被硬编码为字符串。我想将它们移动到一个单独的模块中,这样我就可以将它们作为变量使用

当我使用JSON.parse(HTMLTags)解析对象时,我得到了一个错误

JSON中意外的令牌x

我知道这是因为双引号,我知道我可以用反斜杠来逃避它们。但是这太多了,因为它们有很多标签。还有别的办法吗

  export const HTMLTags = `{
   "h1s": {
      "greating1": "<h1 id="ms1" class="ms">ABC</h1>",
      "greating2": "<h1 id="ms2" class="ms">XYZ</h1>",
               .
               .
               .
               .
               .
      "greatingx": "<h1 id="msX" class="ms">QWE</h1>"
   }
}`;
export const HTMLTags=`{
“h1s”:{
“greating1”:“ABC”,
“greating2”:“XYZ”,
.
.
.
.
.
“greatingx”:“QWE”
}
}`;

问题在于属性的引号中。源字符串本身无效:

const HTMLTags=`{
“h1s”:{
“greating1”:“ABC”,
“greating2”:“XYZ”,
“greatingx”:“QWE”
}
}`;

log(JSON.parse(HTMLTags))问题存在于属性的引号中。源字符串本身无效:

const HTMLTags=`{
“h1s”:{
“greating1”:“ABC”,
“greating2”:“XYZ”,
“greatingx”:“QWE”
}
}`;

log(JSON.parse(HTMLTags))
使用
JSON.stringify()
将它们导出为字符串,导入后使用
JSON.parse()
以对象的形式返回。是否所有您感兴趣的标记都是HTML字符串的问候语,如代码中所示?使用
JSON.stringify()将它们导出为字符串
导入它们后,使用
JSON.parse()
以对象的形式返回。是否所有您感兴趣的标记都是HTML字符串,就像那里的代码一样?我会尝试替换飞行中的引号,因为数据源不清楚(它是获取的?它是本地字符串?),我不确定必须修复它。如果它是从服务获取的字符串,那么在服务上修复它可能比通过regext转义更好。regex工作得很好。这些数据只是我需要在js代码中使用的html标记。它包含SVG、视频、h1和许多其他内容。非常感谢@Mosèraguzzinitis Regex在Chrome上运行良好,但在任何其他浏览器上都无法运行。由于lookbehind(?我会尝试替换fly上的引号,因为数据源不清楚(它是获取的?它是本地字符串?)我不确定在哪里需要修复。如果它是从服务获取的字符串,也许在服务上修复它比通过RegExt转义更好。regex工作得很好。这些数据只是一种html标记,我需要在我的js代码中使用它们。它包含SVG、视频、h1和许多其他内容。非常感谢@Mosèraguzzinitis regex在Chrome上工作得很好,但是不在任何其他浏览器上。由于向后看(?)?