Итак, в AWS Api Gateway я запрашиваю DynamoDB и получаю ответ в формате JSON:
Итак, Items — это массив из 3-х объектов. Мне нужно извлечь свойства этих объектов: TS, Key и CamID.
Я использую Velocity в ответе на интеграцию. Вот мой шаблон отображения:
#set($count = $input.json('$.Count'))
#set($items = $input.json('$.Items'))
{
"count" : $count,
"items" : $items,
"first_item": $items[0]
},
Результат от шлюза API:
{
"count" : 3,
"items" : [{"TS":{"N":"1599050893346"},"Key":{"S":"000000/000000_2020-08-02-12.48.13.775-CEST.mp4"},"CamID":{"S":"000000"}},{"TS":{"N":"1599051001832"},"Key":{"S":"000000/000000_2020-08-02-12.50.01.220-CEST.mp4"},"CamID":{"S":"000000"}},{"TS":{"N":"1599051082769"},"Key":{"S":"000000/000000_2020-08-02-12.51.22.208-CEST.mp4"},"CamID":{"S":"000000"}}],
"first_item":
}
first_item всегда возвращает пустое значение
В то время как в чистом массиве, как это:
#set($foo = [ 42, "a string", 21, $myVar ])
"test" : $foo[0]
тест возвращает 42
Почему мой код не работает с массивом объектов?