如何在 freemarker 中通过键值访问 json 值?
How to access json value by key value in freemarker?
有没有办法在 freemarker 中通过键值访问 json
值? json 看起来像这样:
{"className":"Lorem Ipsum","classPK":"52293","title":"Test Name"}
我需要这些值才能在方法中使用它们:
localService.method(className, classPK);
我试图通过 ${json.getData()["classPK"]}
直接访问它们。怎么做?
将json赋值给这个变量并尝试以这种方式访问
<#-- 来自 JSON 文字的自由标记哈希 -->
<#assign getData= {"className":"Lorem Ipsum","classPK":"52293","title":"Test Name"} >
${getData.className}
${getData.classPK}
您可以使用${variableName.key}
。在您的情况下 <#assign data="Your JSON Goes here"?eval>
然后在使用 ${data.className}
访问之后。
此处对包含 JSON 的字符串数据使用 ?eval
,我们将其转换为 Freemarker littral。
有关更多信息,请点击链接:- https://docs.akana.com/ag/processes/process_transform_freemarker.htm
https://liferay.dev/blogs/-/blogs/working-with-json-in-freemarker
您可以使用 ?eval 或 jsonFactoryUtil(如果可用)。示例:
<#assign customFieldJson = customField.getData()?eval />
${customFieldJson.className}
${customFieldJson.classPK}
${customFieldJson.title}
或
<#assign customFieldJson = jsonFactoryUtil.createJSONObject(customField.getData()) />
${customFieldJson.getString("className")}
${customFieldJson.getString("classPK")}
${customFieldJson.getString("title")}
我不知道哪个是"better",但我更喜欢eval...
有没有办法在 freemarker 中通过键值访问 json
值? json 看起来像这样:
{"className":"Lorem Ipsum","classPK":"52293","title":"Test Name"}
我需要这些值才能在方法中使用它们:
localService.method(className, classPK);
我试图通过 ${json.getData()["classPK"]}
直接访问它们。怎么做?
将json赋值给这个变量并尝试以这种方式访问
<#-- 来自 JSON 文字的自由标记哈希 --> <#assign getData= {"className":"Lorem Ipsum","classPK":"52293","title":"Test Name"} >
${getData.className} ${getData.classPK}您可以使用${variableName.key}
。在您的情况下 <#assign data="Your JSON Goes here"?eval>
然后在使用 ${data.className}
访问之后。
此处对包含 JSON 的字符串数据使用 ?eval
,我们将其转换为 Freemarker littral。
有关更多信息,请点击链接:- https://docs.akana.com/ag/processes/process_transform_freemarker.htm https://liferay.dev/blogs/-/blogs/working-with-json-in-freemarker
您可以使用 ?eval 或 jsonFactoryUtil(如果可用)。示例:
<#assign customFieldJson = customField.getData()?eval />
${customFieldJson.className}
${customFieldJson.classPK}
${customFieldJson.title}
或
<#assign customFieldJson = jsonFactoryUtil.createJSONObject(customField.getData()) />
${customFieldJson.getString("className")}
${customFieldJson.getString("classPK")}
${customFieldJson.getString("title")}
我不知道哪个是"better",但我更喜欢eval...