如何在使用JSON数据源的jasper报表中获取嵌套值作为字段

时间:2019-06-20 11:20:45

标签: json jasper-reports datasource

我正在使用JSON数据源进行报告。我尝试创建图像元素并给出其表达式base64字符串。它在JSON的第二级中,但是由于报表查询,Jasper将第一级显示为字段。例如,查询为product级,而Jasper仅显示nameprice作为字段。我想在logo中输入someObject字段,但我无法达到该水平。我不能使用子报表,我的工作环境不允许我这样做。那么我如何才能达到该值呢?

{
    "product": {
            "name": "Oreo",
            "price": "$1.25",
            "someObject": {
                    "logo": "Base64 string"
            }
    }
}

1 个答案:

答案 0 :(得分:0)

您需要将字段的JSON表达式手动设置为类似以下内容:

<jasperReport...>
    <queryString language="json">
        <![CDATA[product]]>
    </queryString>
    ...
    <field name="someObjectLogo" class="java.lang.String">
        <property name="net.sf.jasperreports.json.field.expression" value="someObject.logo"/>
        <fieldDescription><![CDATA[Some Object Logo]]></fieldDescription>
    </field>
    ...
</jasperReport>