将&quot替换为双引号json

kyks70gy  于 2022-11-26  发布在  其他
关注(0)|答案(2)|浏览(275)

我正在webflow(一个网站平台)中工作,并在一个内容字段中粘贴一个JSON-LD脚本。该字段Map到网页的部分。
JSON脚本中的所有双引号“都将切换为“
是否有一行代码可以添加到脚本中,以将它们切换回来?
我尝试在</script>标记.replace(/&quot;/g, '\"').replace(/&quot;/g, '\\"')之前插入以下内容,但两个都不起作用。
以下是发布前后端的代码

<script type='application/ld+json'>
{Schema}
.replace(/&quot;/g, '\\"')
</script>

这是它在现场呈现的效果

<script type='application/ld+json'>

{ &quot;@context&quot;: &quot;https://schema.org&quot;, &quot;@type&quot;: &quot;FAQPage&quot;, &quot;mainEntity&quot;: [{ &quot;@type&quot;: &quot;Question&quot;, &quot;name&quot;: &quot;How quickly can I get my certificate of insurance?&quot;, &quot;acceptedAnswer&quot;: { &quot;@type&quot;: &quot;Answer&quot;, &quot;text&quot;: Certificates are usually issued 24 hours after the policy is bound.&quot; } }]
}
.replace(/&quot;/g, '\\"')
</script>
deyfvvtc

deyfvvtc1#

. replace需要附加到一个字符串变量上,所以很遗憾你不能在Schema的末尾使用它。script标记也是application/ld + json(而不是/javascript),所以javascript不能在标记内运行。
这个问题的核心是,webflow将您输入到块中的所有内容视为Web安全文本,然后发布它,因此脚本标记内的修复程序将在此之前运行(然后被覆盖)。
因此,这看起来像是您使用的内容区块有问题。您是否可以从标准文字区块移至RTF格式区块,或移至特定程式码的区块?
It looks like some people are having a similar issue in this webflow support thread
祝你好运!

fgw7neuy

fgw7neuy2#

1.首先,您在json对象中的Certificates一词之前漏掉了“
1.不能在类型为application/ld+json脚本中运行js函数
1.查看从JSON中删除“”的示例

<script type='application/ld+json'>

{ 
  &quot;@context&quot;: &quot;https://schema.org&quot;, 
  &quot;@type&quot;: &quot;FAQPage&quot;, 
  &quot;mainEntity&quot;: 
  [
    { 
      &quot;@type&quot;: &quot;Question&quot;, 
      &quot;name&quot;: &quot;How quickly can I get my certificate of insurance?&quot;,
      &quot;acceptedAnswer&quot;:
      {
        &quot;@type&quot;: &quot;Answer&quot;, 
        &quot;text&quot;: &quot;Certificates are usually issued 24 hours after the policy is bound.&quot;
      } 
    }
  ]
}
</script>
<script>
var jsonld = document.querySelector('script[type="application/ld+json"]').innerText;
jsonld = jsonld.replaceAll("&quot;", '"');
jsonld = JSON.parse(jsonld);
console.log(jsonld);
</script>

相关问题