在平常储存中,我们可能会用一个字段保存一段json信息,这样做可以使我们把一些比如属性信息或者其他信息和主体保存在同一张表中,避免了多表查询。但这样做在取出时根据bean拿到的直接是一个字符串,而不是一个json型数据。如图:
如果直接这样返给页面不做处理,我们只能拿到一个包含json的字符串,因此我们需要通过freemarker处理一下。
通过freemarker的eval重新转换成我们需要的数据,具体用法如下:
解析Json型list数据
String a = “[{a:”a”},{a:”b”}]”;
<#list a?eval as a>
${a.a}
</#list>
解析Json型map数据
String a = “[{a:”a”},{b:”b”}]”;
<#list a?eval?key as key>
${a?eval[key]}
</#list>