在Freemarker中,可以通过键值访问JSON值,具体步骤如下:
${}
语法来访问JSON值。${}
中的内容是键值,用于获取对应的JSON值。例如,假设有以下JSON数据:
{
"name": "John",
"age": 25,
"email": "john@example.com"
}
如果你想获取"name"字段的值,可以使用${data.name}
来访问。其中,data
是你传入模板的JSON数据对象。
完整的示例代码如下:
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
import freemarker.template.TemplateExceptionHandler;
import java.io.IOException;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.Map;
public class FreemarkerExample {
public static void main(String[] args) {
Configuration cfg = new Configuration(Configuration.VERSION_2_3_31);
cfg.setClassForTemplateLoading(FreemarkerExample.class, "/templates");
cfg.setDefaultEncoding("UTF-8");
cfg.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);
try {
Template template = cfg.getTemplate("example.ftl");
Map<String, Object> data = new HashMap<>();
data.put("name", "John");
data.put("age", 25);
data.put("email", "john@example.com");
StringWriter writer = new StringWriter();
template.process(data, writer);
System.out.println(writer.toString());
} catch (IOException | TemplateException e) {
e.printStackTrace();
}
}
}
在上述示例中,我们创建了一个Configuration
对象,并设置了模板加载路径、编码方式和异常处理方式。然后,我们获取了一个模板对象,并传入了一个包含JSON数据的data
对象。最后,我们使用template.process(data, writer)
方法将数据填充到模板中,并将结果输出到控制台。
在模板文件example.ftl
中,你可以使用${data.name}
来访问JSON数据中的"name"字段值。
这是一个简单的示例,你可以根据实际需求进行扩展和定制。如果你想了解更多关于Freemarker的用法和功能,请参考腾讯云的Freemarker产品介绍页面:Freemarker产品介绍。
领取专属 10元无门槛券
手把手带您无忧上云