Freemarker 是一個模板引擎,在網站開發中使用廣泛。通過 Freemarker 可以快速地生成 Web 頁面內容,同時支持使用模板文件動態生成 HTML、XML、JSON 等格式的數據。在實現網站 API 開發時,我們經常會使用 JSON 來傳輸數據。本文將介紹如何使用 Freemarker 打印 JSON。
首先,我們需要準備一個 JSON 格式的數據。這里我們以以下的示例數據為例:
{ "name": "張三", "age": 22, "skills": ["Java", "Go", "Python"] }
接下來,我們需要使用 Freemarker 提供的一些指令來解析 JSON 數據。首先需要使用 freemarker.template.utility.JsonUtil 類來將 JSON 字符串轉換為 freemarker.template.TemplateModel 類型的對象:
<#assign json = '{ "name": "張三", "age": 22, "skills": ["Java", "Go", "Python"] }'><#assign model = json?eval>
這里我們使用了 assign 指令來將 JSON 字符串賦值給 json 變量,然后使用 eval 方法將其轉換為 TemplateModel 對象,并賦值給 model 變量。
接下來,我們可以使用如下的指令來訪問 JSON 數據:
姓名:${model["name"]}
年齡:${model["age"]}
技能:
<#list model["skills"] as skill>${skill}
#list>
在上述指令中,我們使用了 list 指令遍歷 skills 數組,并打印出其中的每一個元素。
最終,我們得到了如下的輸出:
姓名:張三
年齡:22
技能:
Java
Go
Python
如此,我們就成功地使用 Freemarker 打印了 JSON 數據。