Ich bin auf der Suche nach dem Stammobjekt in FTL (freeMarker Vorlage Sprache). für alle Hash-Arrays und alle Sequenzarrays und alle Standardschlüsselwertobjekte.FreeMarker: Enumeration von Root
Ich brauche Ausgabe im JSON-Format. Ich habe das geschrieben Code für JSON-Enumeration gefunden: 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>
Aber der Code funktioniert nicht (wirft einen Fehler) in der aktuellen Ausgabe von Freemarker.
Ich würde jede Hilfe schätzen, die jeder zur Verfügung stellen kann. Außerdem sehe ich keinen Weg, das Wurzelobjekt zu "bekommen".
Danke, Dan Linstedt
Und welche Fehler werfen ist das? –
Das Datenmodell (ich nehme an, Sie meinen das mit dem root-Objekt) ist als '.data_model' zugänglich (siehe http://freemarker.org/docs/ref_specvar.html). – ddekany