JSON-LD内容中的字符串值是否应该被转义?例如,Google建议以下内容为sitesearch提供提示:
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WebSite",
"url": "https://www.example-petstore.com/",
"potentialAction": {
"@type": "SearchAction",
"target": "https://query.example-petstore.com/search?q={search_term_string}",
"query-input": "required name=search_term_string"
}
}
</script>
但是如果我的网站的搜索网址包含多个查询参数呢? target 的值中是否应该或可以转义?例如:
"target": "https://query.example-petstore.com/search?foo=bar\u0026q={search_term_string}",
在JSON-LD中标记时,同样的问题适用于几种常见的schema.org类型。例如,在Organization-&gt; sameAs中的Google+社交个人资料链接:如果我的组织的个人资料是
https://plus.google.com/+BeardsAreSweet
应表示为:
"sameAs": ["https://plus.google.com/+BeardsAreSweet"]
或
"sameAs": ["https://plus.google.com/\u002bBeardsAreSweet"]
更重要的是,它有意义吗?
答案 0 :(得分:1)
当它是JSON对象的一部分时,没有必要转义您的URL。有效的url字符串是有效的JSON字符串。 JSON字符串可以包含:
除\或&#34;之外的任何UNICODE字符或控制角色
答案 1 :(得分:0)
根据我的经验,RTL字符(特别是查询字符串中的波斯字母)对Google可能会造成问题,因此必须将其编码为LD + JSON并由Google消化。
如果不进行编码,可以使用CJK字符。