【问题标题】:Unexpected error parsing Amazon Alexa Smart Home JSON schema解析 Amazon Alexa Smart Home JSON 架构时出现意外错误
【发布时间】:2021-01-27 09:14:06
【问题描述】:

我正在尝试使用 the validation schema Amazon provides 为 Alexa 智能家居技能后端创建一些集成测试,但是当我尝试使用 JSON.parse 解析它时出现错误:

> JSON.parse(fs.readFileSync('alexa_smart_home_message_schema.json', 'utf-8'))
Uncaught SyntaxError: Unexpected token } in JSON at position 262146

这让我感到惊讶,因为文件看起来很好,并且在 https://www.jsonschemavalidator.net/ 上使用它时没有报告错误,所以它肯定是有效的 JSON,所以我真的不确定这里出了什么问题。在大文件上使用JSON.parse 有什么问题吗?文件不大,大约 635 KiB。

Node.js 版本为 12.20.1

【问题讨论】:

  • 这表明您的 JSON 文件中有语法错误。您是否尝试过在 VSCode 等支持语言的编辑器中打开它?如果语言模式设置为 JSON(打开 JSON 文件时应该是自动的),那么它应该突出显示所有错误。
  • JSON Schema 验证器可能不会发现与解析相关的错误。如果您尝试使用普通编辑器但仍有问题,请将您的 JSON 粘贴到 gist 或其他内容中以在此处分享,或者如果时间不长,请将其包含在您的问题中。
  • 啊,好吧,我假设验证器会发现任何语法错误,但我在阅读时做错了——结果确实是亚马逊模式中的语法错误!非常感谢:)
  • 这是悬空的逗号。 JSON 中不允许。我正在评论您的 github 问题。
  • 如果您有不适合 StackOverflow 的问题,请随时加入 JSON Schema 松弛服务器 =]

标签: node.js json jsonschema alexa


【解决方案1】:

原来我认为亚马逊的 JSON 有效的假设是不正确的,架构中存在语法错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多