JSON-LD字符串是否应该被转义?

时间:2015-04-15 20:52:06

标签: escaping schema.org json-ld

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

更重要的是,它有意义吗?

2 个答案:

答案 0 :(得分:1)

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

  

除\或&#34;之外的任何UNICODE字符或控制角色

http://json.org

答案 1 :(得分:0)

根据我的经验,RTL字符(特别是查询字符串中的波斯字母)对Google可能会造成问题,因此必须将其编码为LD + JSON并由Google消化。

如果不进行编码,可以使用CJK字符。