Freemarker是一款模板引擎,可以用來生成各種格式的文本,其中包括Json。下面我們來看看如何使用Freemarker生成Json數(shù)據(jù)。
// 模板文件(template.ftl) { "name": "${name}", "age": ${age}, "hobby": [<#list hobby as item>"${item}"<#if item_has_next>,#if>#list>] } // Java代碼 public class FreemarkerDemo { public static void main(String[] args) throws Exception { // 創(chuàng)建 Configuration 對象 Configuration cfg = new Configuration(Configuration.VERSION_2_3_27); cfg.setClassForTemplateLoading(FreemarkerDemo.class, "/"); cfg.setDefaultEncoding("UTF-8"); // 獲取模板文件 Template template = cfg.getTemplate("template.ftl"); // 創(chuàng)建數(shù)據(jù)模型 Mapdata = new HashMap<>(); data.put("name", "張三"); data.put("age", 18); data.put("hobby", Arrays.asList("電影", "音樂", "閱讀")); // 生成Json StringWriter writer = new StringWriter(); template.process(data, writer); System.out.println(writer.toString()); } }
以上代碼的執(zhí)行結(jié)果為:
{ "name": "張三", "age": 18, "hobby": [ "電影", "音樂", "閱讀" ] }
可以看到,我們通過Freemarker生成了一段符合Json格式的數(shù)據(jù),并輸出到了控制臺上。