如何从 Freemarker 中的对象列表中获取对象
How to get an object from a list of object in Freemarker
我正在尝试从对象列表中返回一个对象;
list = [{"name":"Joe","id":1},{"name":"Fred","id":2}]
我想输出与下面格式完全一样的对象;
{"name":"Joe","id":1}
当我想访问整个对象时它会抛出错误;
${list?first} -> Error: Expected a string or something automatically...
在 https://try.freemarker.apache.org/ 上对此进行测试,但我似乎无法提取完整的第一个对象,而从该对象访问 属性 工作正常..?
我知道像这样显示对象有点奇怪。我需要它用于使用 freemarker 的业务程序,我想将该对象分配回接受此格式的变量。
您可以将可转换为字符串的值显示为错误(下方)建议
<#assign item = list[0]>
${item.name} ${item.id}
For "${...}" content: Expected a string or something automatically convertible to
string (number, date or boolean), or "template output" , but this has evaluated to a
sequence (ArrayList wrapped into f.t.DefaultListAdapter):
==> list [in nameless template at line 1, column 3]
您可以检查 freemarker parse a JSON 个答案,执行类似于:
<#assign array = '[{"name":"Joe","id":1},{"name":"Fred","id":2}]'>
<#assign object = array?eval[0]>
<#list object?keys as key>"${key}":"${object[key]}"
</#list>
我正在尝试从对象列表中返回一个对象;
list = [{"name":"Joe","id":1},{"name":"Fred","id":2}]
我想输出与下面格式完全一样的对象;
{"name":"Joe","id":1}
当我想访问整个对象时它会抛出错误;
${list?first} -> Error: Expected a string or something automatically...
在 https://try.freemarker.apache.org/ 上对此进行测试,但我似乎无法提取完整的第一个对象,而从该对象访问 属性 工作正常..?
我知道像这样显示对象有点奇怪。我需要它用于使用 freemarker 的业务程序,我想将该对象分配回接受此格式的变量。
您可以将可转换为字符串的值显示为错误(下方)建议
<#assign item = list[0]>
${item.name} ${item.id}
For "${...}" content: Expected a string or something automatically convertible to string (number, date or boolean), or "template output" , but this has evaluated to a sequence (ArrayList wrapped into f.t.DefaultListAdapter): ==> list [in nameless template at line 1, column 3]
您可以检查 freemarker parse a JSON 个答案,执行类似于:
<#assign array = '[{"name":"Joe","id":1},{"name":"Fred","id":2}]'> <#assign object = array?eval[0]> <#list object?keys as key>"${key}":"${object[key]}" </#list>