Я работаю с Apache Velocity Template Language (VTL) в AWS AppSync.
В моем шаблоне запроса я запрашиваю неопределенное количество элементов с различными элементами.
В шаблоне ответа я хочу преобразовать результат в объект JSON, который мне понадобится позже для моей операции BatchDeleteItem.
Вот как я решил это в настоящее время:
#set($deleteObject='{"Id" : { "S": "nodelete" },"Sk" : { "S": "nodelete" }}')
#set($replaceDeleteObject ="")
#set($separator="")
#foreach( $item in $ctx.result.items )
#set($replaceDeleteObject = $replaceDeleteObject + $separator + '{"Id" : { "S": "' + $item.Id + '" },"Sk" : { "S": "' + $item.Sk + '" }}')
#set($separator = ",")
#set($deleteObject = $replaceDeleteObject)
#end
$util.qr($ctx.stash.put("deleteObject", $deleteObject))
Позже я могу получить доступ к своему deleteObject, и он работает правильно.
Однако у меня вопрос , можно ли напрямую создать какой-либо объект JSON в vtl, в который я могу добавить свои значения вместо создания этой строки в форме объекта JSON?