Я передаю данные JSON в поток Twilio Studio, содержащий данные массива. Допустим, это адреса. Я хотел бы выполнить итерацию по этому массиву и иметь несколько виджетов внутри каждой итерации, чтобы сказать адрес, а затем захватить пользователя, говорящего «да» или «нет», чтобы подтвердить, что каждый адрес правильный.
Там, где я, кажется, терплю неудачу, используется переменная потока в качестве индекса для массива. Ниже приведен код внутри виджета Say / Play. flow.variables.address_idx определен в предыдущем виджете Set Variables как {{0}}. 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, а вместо этого обрабатывается как строка. Кажется, что строковые ключи для хэшей работают нормально.
Есть ли у меня синтаксическая хитрость? Или есть другой подход для использования нескольких виджетов в теле итерации массива?