代码之家  ›  专栏  ›  技术社区  ›  Gaurav Mathur

在数据为JSON的设备上预览引发异常

  •  0
  • Gaurav Mathur  · 技术社区  · 7 年前

    在编写工具中测试一个简单的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 回复  |  直到 7 年前
        1
  •  0
  •   Anthony Moralez    7 年前

    我一直在玩APL,遇到了同样的问题。看来 datasource 必须包含对象,而不是基本体。所以 ${payload.titleText} 在发送到设备之前,未能通过某种模式检查。当你把它放在一个物体下面 数据源 ,例如。 ${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" }
    }
    
    推荐文章