I have 3 .jrxml (main report, subreport and subreport in subreport) and get data from JSON. Paths to subreports jasper files I send like parameters (first subrreport - sub_jasper_report, second subreport - sub_jasper_report2) JSON { "Name": "", "joints": [ { "name": "1", "zones": [ { "name": "1" }, { "name": "2" } ] }, { "name": "2", "zones": [ { "name": "1" }, { "name": "2" } ] } ]}[/code] Subreport in MAIN REPORT (I send array joints in the subreport and it works) <dataSourceExpression><![CDATA[((net.sf.jasperreports.engine.data.JsonDataSource) $P{REPORT_DATA_SOURCE}).subDataSource("joints")]]></dataSourceExpression><subreportExpression><![CDATA[$P{sub_jasper_report}]]></subreportExpression>[/code]In the first subreport field "name" works fine. But the first subreport has subreport too (zones) and I try to send too. <dataSourceExpression><![CDATA[((net.sf.jasperreports.engine.data.JsonDataSource) $P{REPORT_DATA_SOURCE}).subDataSource("joints.zones")]]></dataSourceExpression><subreportExpression><![CDATA[$P{sub_jasper_report2}]]></subreportExpression>[/code]But in the secound subreport (subreport of subreport) filed "name" doesn't work. Looks like I have to send parameters (path to .jrxl) not only in the main report, but in the first subreport too. But I don't know how.