我尝试使用freemarker提取JSON文档的一部分并将其输出到新文档中。我一直在讨论freemarker抱怨的问题:
SEVERE:执行FreeMarker模板时出错 FreeMarker模板错误: 对于" $ {...}" content:预期字符串或其他东西可自动转换为字符串(数字,日期或布尔值),但这已经计算为extended_hash(包装器:f.c.HashLiteral $ SequenceHash): ==> m.name [在模板" testjson.ftl"在第8行,第15栏
当元素m.name计算为字符串时,我的模板工作正常,但我想用它来提取整个节点。模板是:
<#assign m = doc?eval>
<html>
<head>
<title>Test JSON</title>
</head>
<body>
<h1>${m.name}</h1>
</body>
</html>
这可以很好地用一个简单的结构:
{
"name" : "joe",
"number": "123-456-7890"
}
但不是一个复杂的:
{
"name" :
{
"first" : "joe",
"last" : "developer"
},
"number":"123-456-7890"
}
是否可以轻松提取并输出整个节点?
谢谢,
伊恩
答案 0 :(得分:0)
不,目前(2.3.23)开箱即用的FTL中没有JSON支持(除了JSON转义)。当然,可以写一个“toJSON”TemplateMethodModelEx
来做到这一点。