我有一个使用React构建的Gatsby网站。我想通过JSON + LD包含结构化数据。我创建了一个输出<script type="application/ld+json">{JSON.stringify([object])}</script>
的特定组件,其中object
是具有结构化数据的JS对象:
let object = {
"@context": "http://schema.org",
"@type": "Game",
name: post.title,
...
};
但是,我在编译后的站点上得到的JSON.stringify-ed字符串的引号用"
进行HTML转义:
<script type="application/ld+json">[{"@context":"http://schema.org","@type":"Game" …
[当我尝试使用Google Structured Data Testing Tool解析网站时,它显示了解析错误。我了解这是因为"
。 (example URL)
有关解决此问题的任何技巧?
我并没有完全解决我的问题,但是通过将JSON + LD移到React <Helmet>
内部,它可以正确输出,因此现在可以验证。如果有人遇到相同问题,我将其保留在此处。