FTL是FreeMarker Template的縮寫,它是一種基于模板的Java模板語言。在Java應用程序中,往往需要進行JSON字符串解析,而FTL就提供了一種方便快捷的方法來實現(xiàn)這一功能。
FTL解析JSON字符串需要引入json-simple.jar包,并強制使用FTL DataModel和模板引擎的數(shù)據(jù)處理能力。使用JSON字符串解析功能需要先將JSON字符串轉(zhuǎn)換為FTL DataModel。
//引入JSON-Simple.jar包 <dependency> <groupId>com.googlecode.json-simple</groupId> <artifactId>json-simple</artifactId> <version>1.1.1</version> </dependency> //將JSON字符串轉(zhuǎn)換為FTL DataModel JSONObject json = new JSONObject(); json.put("name", "John"); json.put("age", 30); StringWriter out = new StringWriter(); JSONValue.writeJSONString(json, out); String jsonText = out.toString(); DefaultObjectWrapperBuilder builder = new DefaultObjectWrapperBuilder(Configuration.VERSION_2_3_30); TemplateModel model = builder.build().wrap(new JSONParser().parse(jsonText));
解析完成后,就可以將DataModel傳入FTL模板進行操作,如下所示:
<#list model as m> <p>${m?json_string}</p> </#list>
以上代碼會以列表的形式輸出JSON字符串的鍵值對,其中"${m?json_string}"會將DataModel轉(zhuǎn)換為JSON字符串。