大概不可能
但我想用freemarker在 map 中转换一个json字符串
前任:
<#assign test = "{\"foo\":\"bar\", \"f\":4, \"text\":\"bla bla\"}">
并能够从该字符串中获取 文本 key
请您参考如下方法:
使用?eval。它之所以有效,是因为JSON映射恰好是有效的FreeMarker表达式(更新:在FreeMarker 2.3.x中无法识别null除外)。
<#assign test = "{\"foo\":\"bar\", \"f\":4, \"text\":\"bla bla\"}">
<#assign m = test?eval>
${m.foo} <#-- prints: bar -->
<#-- Dump the whole map: -->
<#list m?keys as k>
${k} => ${m[k]}
</#list>
(顺便说一句,如果用
\"而不是
'引用字符串,则不必使用
"。)




