9

JSON-LD 内容中的字符串值是否应该被转义?例如,Google 建议以下内容为站点搜索提供提示:

<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>

但是,如果我的网站的搜索 URL 包含多个查询参数怎么办?是否应该或可以转义目标值中的字符?例如:

"target": "https://query.example-petstore.com/search?foo=bar\u0026q={search_term_string}",

在 JSON-LD 中进行标记时,同样的问题适用于几种常见的 schema.org 类型。Organization->sameAs 中的 Google+ 社交资料链接,例如:如果我的组织的资料是

https://plus.google.com/+BeardsAreSweet

应该表示为:

"sameAs": ["https://plus.google.com/+BeardsAreSweet"]

或者

"sameAs": ["https://plus.google.com/\u002bBeardsAreSweet"]

更重要的是,这有关系吗?

4

2 回答 2

0

当它是 JSON 对象的一部分时,没有必要转义您的 url。有效的 url 字符串是有效的 JSON 字符串。JSON 字符串可以包含:

除 \ 或 " 或控制字符外的任何 UNICODE 字符

http://json.org

于 2015-04-15T20:55:00.443 回答
0

以我的经验,RTL 字符(尤其是查询字符串中的波斯字母)可能会给 Google 带来问题,因此它们必须以 LD+JSON 编码,以便 Google 消化。

如果未编码,CJK 字符很好。

于 2020-05-27T19:57:34.243 回答