如何使用 rest 将 json 数据传递给 jasper 报告

How to pass json data to jasper report using rest

我是 jasper 的新手。我使用 JSON 数据源创建了一个 jasper 报告并将其推送到服务器。有没有办法使用 rest 调用将 JSON 数据传递给 jasper 报告?我找不到任何可以效仿的例子。

如果您的报告包含 jsonjsonql 查询,您可以做的是根据以下值为 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..}"
        ]
      }
    ]
  }