使用数据JSON在设备上预览会引发异常

时间:2018-12-21 22:43:06

标签: alexa alexa-presentation-language

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

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

enter image description here

如果我删除绑定并在渲染文档中直接添加文本,则预览有效。

此外,创作工具上可用的默认示例在模拟器上和设备上预览时都像超级按钮一样。

渲染文档
{ "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上预览

1 个答案:

答案 0 :(得分:0)

我一直在研究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" }
}