I am using subdataset to load my reports. The below jrxml is designed using iReports 5.6.0 and java 1.8 . The issue is when we load it first time in iReports it works fine and fetches data from given json datasource. My json is { "tax_statement":{ "start_date":"01/09/2019", "end_date":"30/09/2019", "client_no":"100416517", "deal_id":"TF540R0640", "currency":"USD", "tax_details":[ { "creation_date":"02/09/2019", "creation_reference":"TF540R0640-03745", "collection_date":"02/09/2019", "collection_reference":"TF540R0640-03745", "txn_currency":"USD", "txn_amount":"35623.10", "tax_type":"Commission Package", "tax_amount":"890.03" }, { "creation_date":"03/09/2019", "creation_reference":"TF540R0640-03748", "collection_date":"03/09/2019", "collection_reference":"TF540R0640-03748", "txn_currency":"USD", "txn_amount":"6723.10", "tax_type":"Commission Package", "tax_amount":"1120.03" } ] } } My jrxml is <subDataset name="tax_details" uuid="ffb611e3-ff17-47fe-918d-4dafce456724"> <field name="tax_type" class="java.lang.String"> <fieldDescription><![CDATA[tax_type]]></fieldDescription> </field> </subDataset> <queryString language="json"> <![CDATA[]]> </queryString> <field name="currency" class="java.lang.String"> <fieldDescription><![CDATA[tax_statement.currency]]></fieldDescription> </field> <field name="tax_type" class="java.lang.String"> <fieldDescription><![CDATA[tax_type]]></fieldDescription> </field> <background> <band splitType="Stretch"/> </background> <title> <band height="79" splitType="Stretch"/> </title> <pageHeader> <band height="35" splitType="Stretch"/> </pageHeader> <columnHeader> <band height="61" splitType="Stretch"> <staticText> <reportElement x="230" y="1" width="100" height="20" uuid="c74a2da1-b8b5-4e58-ab0d-20e4a4b7d8ca"/> <text><![CDATA[tax_type]]></text> </staticText> </band> </columnHeader> <detail> <band height="125" splitType="Stretch"> <textField> <reportElement x="19" y="3" width="100" height="20" uuid="6b32baae-9dac-497a-b7fc-3d51ceb1b13a"/> <textFieldExpression><![CDATA[$F{currency}]]></textFieldExpression> </textField> <componentElement> <reportElement x="142" y="21" width="400" height="50" uuid="4231bcc7-3cbc-47d0-816d-bb4da37fc0aa"/> <jr:list xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" printOrder="Vertical"> <datasetRun subDataset="tax_details" uuid="b344f4ee-d217-4deb-8e03-283fa6ee0cc6"> <dataSourceExpression><![CDATA[((net.sf.jasperreports.engine.data.JsonDataSource)$P{REPORT_DATA_SOURCE}).subDataSource("tax_statement.tax_details")]]></dataSourceExpression> </datasetRun> <jr:listContents height="50" width="100"/> </jr:list> </componentElement> <textField> <reportElement x="230" y="20" width="100" height="20" uuid="e9eed733-b0a6-4596-a2f9-729d749f1dff"/> <textFieldExpression><![CDATA[$F{tax_type}]]></textFieldExpression> </textField> </band> </detail> But I get error as Error filling print... Error evaluating expression : Source text : ((net.sf.jasperreports.engine.data.JsonDataSource)$P{REPORT_DATA_SOURCE}).subDataSource("tax_statement.tax_details") net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression : Source text : ((net.sf.jasperreports.engine.data.JsonDataSource)$P{REPORT_DATA_SOURCE}).subDataSource("tax_statement.tax_details") at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:263) at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:611) at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:579) at net.sf.jasperreports.components.list.FillDatasetRun.evaluate(FillDatasetRun.java:127) at net.sf.jasperreports.components.list.BaseFillList.evaluate(BaseFillList.java:102) at net.sf.jasperreports.engine.fill.JRFillComponentElement.evaluate(JRFillComponentElement.java:110) at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:259) at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:456) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2067) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:788) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:298) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:152) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:963) at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:152) at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:311) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:772) at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:1003) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997) Caused by: java.lang.NoClassDefFoundError: net/sf/jasperreports/engine/data/JsonDataSource at report1_1582886034309_699271.evaluate(report1_1582886034309_699271:192) at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:250) ... 18 more Caused by: java.lang.ClassNotFoundException: net.sf.jasperreports.engine.data.JsonDataSource at java.lang.ClassLoader.findClass(ClassLoader.java:523) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 20 more Print not filled. Try to use an EmptyDataSource...