freemarker 对象转json 方便查看结构
<#function objectToJsonFunction object>
<#if object??>
<#if object?is_enumerable>
<#local json = '['>
<#list object as item>
<#if item?is_hash>
<#if item_index > 0 && json != "[" >
<#local json = json +',' >
</#if>
<#local json = json + objectToJsonFunction(item)>
</#if>
</#list>
<#return json + ']'>
<#elseif object?is_hash>
<#local json = "{">
<#assign keys = object?keys>
<#list keys as key>
<#if object[key]?? && !(object[key]?is_method) && key != "class">
<#if object[key]?is_number>
<#if key_index > 0 && json != "{" >
<#local json = json +',' >
</#if>
<#local json = json + '"${key}": ${object[key]}'>
<#elseif object[key]?is_string>
<#if key_index > 0 && json != "{" >
<#local json = json +',' >
</#if>
<#local json = json + '"${key}": "${object[key]?html!""?js_string}"'>
<#elseif object[key]?is_boolean >
<#if key_index > 0 && json != "{" >
<#local json = json +',' >
</#if>
<#local json = json + '"${key}": ${object[key]?string("true", "false")}'>
<#elseif object[key]?is_enumerable >
<#if key_index > 0 && json != "{" >
<#local json = json +',' >
</#if>
<#local json = json + '"${key}":'+ objectToJsonFunction(object[key])>
<#elseif object[key]?is_hash>
<#if key_index > 0 && json != "{" >
<#local json = json +',' >
</#if>
<#local json = json + '"${key}":'+ objectToJsonFunction(object[key])>
</#if>
</#if>
</#list>
<#return json +"}">
</#if>
<#else>
<#return "{}">
</#if>
</#function>
标签: 没有标签