Freemarker将String解析为Json [英] Freemarker parse a String as Json

查看:137
本文介绍了Freemarker将String解析为Json的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可能不可能,
但是我想用freemarker在地图中转换一个json字符串

Probably it's not possible,
but I would like to transform a json string in a map with freemarker

例如:

<#assign test = "{\"foo\":\"bar\", \"f\":4, \"text\":\"bla bla\"}">

并能够从该字符串获取文本

and be able to get the text key from this string

推荐答案

使用?eval.之所以起作用,是因为JSON映射恰好是有效的FreeMarker表达式(更新:在FreeMarker 2.3.x中无法识别null除外).

Use ?eval. It works because JSON maps happen to be valid FreeMarker expressions (update: except that null is not recognized in FreeMarker 2.3.x).

<#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>

(顺便说一句,如果用'而不是"引用字符串,则不必使用\".)

(BTW, you don't have to use \" if you quote the string with ' instead of ".)

这篇关于Freemarker将String解析为Json的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆