如何使用 rest 将 json 数据传递给 jasper 报告
How to pass json data to jasper report using rest
我是 jasper 的新手。我使用 JSON 数据源创建了一个 jasper 报告并将其推送到服务器。有没有办法使用 rest 调用将 JSON 数据传递给 jasper 报告?我找不到任何可以效仿的例子。
如果您的报告包含 json
或 jsonql
查询,您可以做的是根据以下值为 JSON_INPUT_STREAM
内置参数提供默认值a 您在报告中创建的另一个参数。像这样:
<parameter name="JsonData" class="java.lang.String">
</parameter>
<parameter name="JSON_INPUT_STREAM" class="java.io.InputStream">
<defaultValueExpression><![CDATA[new ByteArrayInputStream($P{JsonData}.getBytes("UTF-8"))]]></defaultValueExpression>
</parameter>
<queryString language="json">
<![CDATA[..json query..]]>
</queryString>
您需要为 JasperReports Server 报告中的 JsonData
参数创建一个输入控件。如果你有,你可以在 运行 通过 REST 报告时传递 JsonData
的值:
"parameters": {
"reportParameter": [
{
"name": "JsonData",
"value": [
"{..json data..}"
]
}
]
}
我是 jasper 的新手。我使用 JSON 数据源创建了一个 jasper 报告并将其推送到服务器。有没有办法使用 rest 调用将 JSON 数据传递给 jasper 报告?我找不到任何可以效仿的例子。
如果您的报告包含 json
或 jsonql
查询,您可以做的是根据以下值为 JSON_INPUT_STREAM
内置参数提供默认值a 您在报告中创建的另一个参数。像这样:
<parameter name="JsonData" class="java.lang.String">
</parameter>
<parameter name="JSON_INPUT_STREAM" class="java.io.InputStream">
<defaultValueExpression><![CDATA[new ByteArrayInputStream($P{JsonData}.getBytes("UTF-8"))]]></defaultValueExpression>
</parameter>
<queryString language="json">
<![CDATA[..json query..]]>
</queryString>
您需要为 JasperReports Server 报告中的 JsonData
参数创建一个输入控件。如果你有,你可以在 运行 通过 REST 报告时传递 JsonData
的值:
"parameters": {
"reportParameter": [
{
"name": "JsonData",
"value": [
"{..json data..}"
]
}
]
}