我正在将JSON数据传递到具有数组数据的Twilio Studio流中。假设它们是地址。我想遍历此数组,并在每次迭代中包含多个小部件以说出地址,然后捕获用户说“是”或“否”以确认每个地址正确。
我似乎失败的地方是使用流变量作为数组的索引。下面是“说/玩”小部件内部的代码。 flow.variables.address_idx在先前的“设置变量”小部件中定义为。 flow.variables.idx定义为0。注释不是代码的一部分,但比Liquid语法更简洁。
//this says 'zero'
The current index is {{flow.variables.address_idx}}.
//nothing
The address is
{{flow.data.addresses[flow.variables.address_idx].service_address_street_1}}
//nothing
The address is
{{flow.data.addresses[flow.variables.idx].service_address_street_1}}
//this works
The address is {{flow.data.addresses[0].service_address_street_1}}
//this works
{% assign foo = 0 %}
The address is {{flow.data.addresses[foo].service_address_street_1}}
当我在flow.variables范围内使用变量时,似乎索引没有被视为整数,而是被视为字符串。散列的字符串键似乎可以正常工作。
我是否缺少语法技巧?还是有另一种方法可以在数组迭代的主体中使用多个小部件?
答案 0 :(得分:0)
这里是Twilio开发人员的传播者。
流小部件可能会将您的整数索引序列化为字符串。您是否尝试过将变量转换为整数?
根据this answer,您可以使用数学过滤器来做到这一点:
{% assign foo = flow.variables.address_idx | plus: 0 %}
The address is {{flow.data.addresses[foo].service_address_street_1}}
让我知道是否有帮助。