JSON-LD:"Missing ',' or ']' in array declaration." 关闭 </script> 标签

JSON-LD: "Missing ',' or ']' in array declaration." on closing </script> tag

我正在使用 Schema.org 标记本地企业页面。我正在尝试使用 JSON-LD 语法应用 openingHoursSpecification 值,但是当我通过 SDTT 验证时收到语法错误。

错误出现在我的代码的第 67 行,该代码只有结束 </script> 标记。

我尝试将第 63 行的 ], 移动到第 66 行,以确保 openscloses value/objects 是 [=14= 的一部分] 数组,但我只收到更多错误。我对结束 </script> 标记与我的代码有什么关系感到困惑。

示例代码:

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "image": "http://www.website.com/example.png",
  "@id": "http://www.website.com",
  "name": "ExampleBusiness",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "xxxxxxxxxxxxxxxx",
    "addressLocality": "Houston",
    "addressRegion": "Texas",
    "postalCode": "xxxxx",
    "addressCountry": "United States"
  },
  "review": {
    "@type": "Review",
    "reviewRating": {
      "@type": "Rating",
      "ratingValue": "4",
      "bestRating": "5"
    },
    "author": {
      "@type": "Person",
      "name": "xxxxxx"
    }
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": xx.xx,
    "longitude": -xx.xx
  },
  "url": "http://www.example.com",
  "telephone": "+0000000000",
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday"
      ],
      "opens": "08:00",
      "closes": "17:00"
    }]

SDTT 中显示的错误:

除非在发布此问题时只是一个 copy-paste 错误,否则您似乎只是缺少一个右括号 '}'。您在第 67 行看到错误,因为它在尝试解析 JSON 时到达脚本标记,因为没有右括号来终止解析器。

应该可以只添加“}”。

我经常用来测试 JSON 的一个站点似乎格式不正确 https://jsonlint.com/

你用 { 打开 JSON-LD,但它没有以 } 结束。所以,你需要在最后加一个}

  }]
}

另一个错误:您需要引用所有字符串值。所以,这个

"latitude": xx.xx,
"longitude": -xx.xx

应该是这个

"latitude": "xx.xx",
"longitude": "-xx.xx"