Freemarker是一種基于模板引擎的Java框架,可以非常方便地從JSON中取值并渲染到模板中,以下是一個基本的實現示例:
<#-- json數據 --><#assign jsonData={"name": "Tom", "age": 20, "gender": "male"}><#-- freemarker模板 -->Name: ${jsonData.name}
Age: ${jsonData.age}
Gender: ${jsonData.gender}
以上代碼中,我們首先定義了一個名為jsonData的變量,值為一個JSON對象。接著在模板中使用${}語法即可直接獲取JSON對象中的屬性值,非常方便。
如果JSON中有多層嵌套結構,也是可以輕松取值的,只需要使用"."語法來遞歸獲取即可,例如:
<#-- json數據 --><#assign jsonData={"person": {"name": "Tom", "age": 20, "gender": "male"}}><#-- freemarker模板 -->Name: ${jsonData.person.name}
Age: ${jsonData.person.age}
Gender: ${jsonData.person.gender}
以上代碼中,我們在JSON中增加了一層person對象,模板中只需要使用jsonData.person.name這樣的語法即可獲取到其中的name屬性值,同理可以獲取到age和gender屬性值。
除了直接使用${}語法取值外,Freemarker還支持通過傳遞參數來動態獲取JSON屬性值,例如:
<#-- json數據 --><#assign jsonData={"name": "Tom", "age": 20, "gender": "male"}><#-- freemarker模板 --><#macro showInfo field>${field}: ${jsonData[field]}
#macro><#-- 調用macro --><@showInfo "name"/><@showInfo "age"/><@showInfo "gender"/>
以上代碼中,我們定義了一個名為showInfo的宏,它接受一個名為field的參數,然后使用${}語法獲取jsonData中該參數對應的屬性值。在調用宏時,可以傳遞不同的參數來動態顯示JSON屬性值。
上一篇python 日期轉數字
下一篇python 獲取證書