0
ジャスパーレポートが新しくなりました。 name
、class
などの情報と配列marks
のような情報を含むsonファイルからpdfを生成しようとしています。マーク配列をテーブルとしてレンダリングしようとしています。 HereテーブルフィールドのJsonDataSourceが空になるJasperレポート
今、私は
File jsonFile = new File("/Volumes/Johny/Work/EclipseWorkspace/SecondReport/res/Marks.Json");
JasperDesign jasperDesign = JRXmlLoader.load(new File("/Volumes/Johny/Work/EclipseWorkspace/SecondReport/res/First.jrxml"));
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
parameters.put(JsonQueryExecuterFactory.JSON_INPUT_STREAM, new FileInputStream(jsonFile));
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters);
JasperExportManager.exportReportToPdfFile(jasperPrint, "/Users/johnykutty/Desktop/Sample2.pdf");
他のフィールドを取得している、などのJavaからこれらを呼び出す - 私のJSONは、私が
<dataSourceExpression><![CDATA[((net.sf.jasperreports.engine.data.JsonDataSource)$P{REPORT_DATA_SOURCE}).subDataSource()]]></dataSourceExpression>
全jrxmlとしてsubdatasource式を与えている
{"data": {"name" : "Johny",
"class" : "A2",
"sub" : "cs",
"interest" : "films",
"marks" : [{
"subject" : "Maths",
"mark" : "24",
"grade" : "A",
"remarks" : "",
"slNo" : "1"
},
{
"subject" : "English",
"mark" : "24",
"grade" : "A",
"remarks" : "",
"slNo" : "2"
},
]
}}
です値はNULLとして取得されています。