Я ищу для перечисления корневого объекта в FTL (язык шаблона FreeMarker). для всех хэш-массивов и всех массивов последовательностей, а также для всех стандартных значений значений ключа.FreeMarker: Enumeration of Root
Мне нужен выход в формате JSON. Я нашел отправил код для перечисления JSON: http://ericbrandel.com/2013/03/28/freemarker-container-to-json/
<#macro objectToJsonMacro object>
<@compress single_line=true>
<#if object?is_hash || object?is_hash_ex>
<#assign first="true">
{
<#list object?keys as key>
<#if first="false">,</#if>
<#assign value><@objectToJsonMacro object=object<key> /></#assign>
"${key}" : ${value?trim}
<#assign first="false">
</#list>
}
<#elseif object?is_enumerable>
<#assign first="true">
[
<#list object as item>
<#if first="false">,</#if>
<#assign value><@objectToJsonMacro object=item /></#assign>
${value?trim}
<#assign first="false">
</#list>
]
<#else>
"${object?trim}"
</#if>
</@compress>
</#macro>
Но код не работает (выдает ошибку) в последнем издании FreeMarker.
Буду признателен за любую помощь, которую может предоставить любой человек. Кроме того, я не вижу способа «получить» корневой объект.
Спасибо, Dan Linstedt
И какая ошибка это бросить? –
Модель данных (я полагаю, это то, что вы подразумеваете под корневым объектом) доступна как '.data_model' (см. Http://freemarker.org/docs/ref_specvar.html). – ddekany