【问题标题】:Preview on Device with Data JSON throws exception使用数据 JSON 在设备上预览会引发异常
【发布时间】:2019-01-28 11:42:19
【问题描述】:

在创作工具中测试一项简单的 Alexa 技能,只有一个文本框从“数据 JSON”选项卡获取数据,在设备上进行预览时会引发异常。但是,当我直接在渲染模板中对数据进行硬编码时,同样可以正常工作。

我有一个只有一种文本类型的简单渲染文档。一个数据 JSON 只有一个与文本类型绑定的属性。它在创作工具模拟器上呈现良好。但是,在设备上进行预览时会引发两个错误 -
1. 将模板推送到设备时出错。
2. 布局和数据集成发现 JSON 错误。修复错误并再次在设备上查看。

如果我删除绑定并在渲染文档中添加文本,预览就可以了。

此外,创作工具上可用的默认示例在模拟器和设备上的预览中都非常有用。

渲染文档
{ "type": "APL", "version": "1.0", "theme": "dark", "mainTemplate": { "parameters": [ "payload" ], "item": [ { "type": "Text", "color": "#FFFFFF", "text": "${payload.textTitle}" } ] } }

数据 JSON
{ "textTitle": "Hello how are you" }

我想我遗漏了一些非常基本的东西。这个简单的例子应该是可行的。

我正在第二代 Echo Show 上预览它

【问题讨论】:

    标签: alexa alexa-presentation-language


    【解决方案1】:

    我一直在玩 APL 并遇到了同样的问题。似乎datasource 必须包含对象,而不是原语。所以${payload.titleText} 在发送到设备之前未能通过某种模式检查。当您将其放入datasource 下的对象中时,例如${payload.title.text},没有错误!

    以下似乎对我有用:

     {
      "type": "APL",
      "version": "1.0",
      "theme": "dark",
      "mainTemplate": {
        "parameters": [
          "payload"
        ],
        "item": [
          {
            "type": "Text",
            "color": "#FFFFFF",
            "text": "${payload.title.text}"
          }
        ]
      }
    }
    

    还有这个数据:

    {
      "title": { "text": "Hello how are you" }
    }
    

    【讨论】:

    • 你说得对,我在我的项目中就是这样做的。我希望 Alexa 团队的人正式接受这个问题并修复它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-19
    • 2017-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-26
    • 1970-01-01
    相关资源
    最近更新 更多