JSON ireport 中的数组

JSON Array in ireport

我正在使用 ireport 和 json 数据源来生成报告,

问题是 ireport 没有在 json 数组中循环,

我的JSON文件内容是,

{
    "PartOn":[
              {
              "TypeOfPart":"Rotable"
              },
              {
              "TypeOfPart":"Rotable1"
              }]
}

我的 jrxml 文件内容是,

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Test" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="746af965-a199-4603-be60-5c5ee40d397c">
    <queryString language="json">
        <![CDATA[PartOn]]>
    </queryString>
    <field name="TypeOfPart" class="java.lang.String">
        <fieldDescription><![CDATA[TypeOfPart]]></fieldDescription>
    </field>
    <background>
        <band splitType="Stretch"/>
    </background>
    <columnHeader>
        <band height="61" splitType="Stretch">
            <staticText>
                <reportElement x="280" y="2" width="100" height="20" uuid="ea8134cf-d2db-46ea-923f-5f1feadbd50e"/>
                <text><![CDATA[PartOn.TypeOfPart]]></text>
            </staticText>
        </band>
    </columnHeader>
    <detail>
        <band height="125" splitType="Stretch">
            <textField>
                <reportElement x="280" y="68" width="100" height="20" uuid="66712268-3adc-4c5e-bbd4-f77fe1a83b18"/>
                <textFieldExpression><![CDATA[$F{TypeOfPart}]]></textFieldExpression>
            </textField>
        </band>
    </detail>
</jasperReport>

当我查看报表时,报表中没有打印任何值。

帮我解决

我找到了一个解决方案,在 json 创建数据源期间的 ireport 中我已经提到

"Use the report JSON expression when filling the report"

这解决了问题。