我正在使用 iReport 来设计 JasperReports 模板。我必须使用 json 数据源。让我们举个例子。假设我的 json 数据源是:
{
"field1" : "value1",
"list" : [
{
"field3" : "value3"
},
{
"field3" : "value4";
}
]
}
然后我创建 json 数据源,只是指向带有数据的文件;在此之后,我创建一个查询字符串:
<queryString language="json">
<![CDATA[list]]>
</queryString>
<field name="field3" class="java.lang.String">
<fieldDescription><![CDATA[field3]]></fieldDescription>
</field>
通过以下方式,我可以打印一个值列表(所以我的报告打印值为3,然后是值4):
<textField>
<reportElement x="74" y="20" width="100" height="20" uuid="b88d96bc-87bd-4dfd-a246-1898dfec1f4a"/>
<textFieldExpression><![CDATA[$F{field3}]]></textFieldExpression>
</textField>
不幸的是,我无法复制相同的行为,以防我想显示“field1”(所以我不能使用queryString“list”,因为我也想使用列表外的数据)。< / p>
你有什么建议吗?
答案 0 :(得分:0)
您可以尝试使用指定的索引
<queryString language="json">
<![CDATA[]]>
</queryString>
<field name="field3" class="java.lang.String">
<fieldDescription><![CDATA[list[0].field3]]></fieldDescription>
</field>