私はこのJSONのDSを持っている:私の.jrxmlファイルでJasper Reportsでjson subDataSourceを追加する適切な方法は何ですか?
{
"customername":"home",
"workSiteRows":[
{
"invoiceRows":[
{
"candidateName":"name1",
"units":"13:00"
},
{
"candidateName":"name2",
"units":"18:30"
}
],
"workSiteName":"wsname1"
},
{
"invoiceRows":[
{
"candidateName":"name1",
"units":"13:00"
},
{
"candidateName":"name2",
"units":"18:30"
}
],
"workSiteName":"wsname2"
}
]
}
私はサブレポートを定義していると私は、このサブレポートに渡すsubDataSourceを作成しようとしています。
<subreport isUsingCache="false">
<reportElement x="0" y="10" width="555" height="30" uuid="b2d96c34-ad5d-4eb2-b218-43aad4e09282" />
<dataSourceExpression><![CDATA[((net.sf.jasperreports.engine.data.JsonDataSource)$P{REPORT_DATA_SOURCE}).dataSource("workSiteRows")]]></dataSourceExpression>
<subreportExpression><![CDATA[$P{REPORT_DIR} + "\\invoice_ws_row.jasper"]]></subreportExpression>
</subreport>
私は次の例外得続ける:
java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonNode java.lang.ClassNotFoundException: org.codehaus.jackson.JsonNode
... エラー充填印刷を私は質問http://community.jaspersoft.com/questions/956036/caused-javalangclassnotfoundexception-orgcodehausjacksonjsonnode-exception-ireport
からの回答を使用してみました。しかし、それは動作しません。 現在、ジャックソンのコアがレポの下にある"com.fasterxml.jackson.core"
"org.codehaus.jackson.core"
の間にiReportが依頼し続ける間、問題が発生します。
org.codehausの下にある古いバージョンのjackson coreを探して、それらをiReportクラスパスに追加しようとしましたが、それでも動作しません。 アイデア
これは機能します。ありがとう。 *** facepalm ***、btw、Jasper Reportsの他の選択肢を使ったことがありますか? – ionutab
ようこそ。私はJasper Reportsを知っているだけです。その無料で最高の利用可能なソリューションですが、それを使用するときにまだ多くの面白い瞬間があります:) – hering
JasperSoft Studio 6.2.1を使用していて、キャストせずに 'subDataSource'メソッドを使用することはできません'net.sf.jasperreports.engine.data.JsonDataSource' –