【发布时间】:2026-02-17 09:00:01
【问题描述】:
我的要求是, 我的 Windows 应用程序中有一个指向 jasper 服务器中的 jasper 报告的 url 我只需要我的 jasper 服务器作为查询生成器, 当我从我的应用程序(有结果)调用报告时,结果应该是使用 Web 服务的 JSON 数据。 我怎样才能实现它。 可能吗? 如果我错了,请纠正我
【问题讨论】:
标签: json web-services jasper-reports jasperserver
我的要求是, 我的 Windows 应用程序中有一个指向 jasper 服务器中的 jasper 报告的 url 我只需要我的 jasper 服务器作为查询生成器, 当我从我的应用程序(有结果)调用报告时,结果应该是使用 Web 服务的 JSON 数据。 我怎样才能实现它。 可能吗? 如果我错了,请纠正我
【问题讨论】:
标签: json web-services jasper-reports jasperserver
对于XML 或JSON 中的原始数据,您可以使用JasperServer Domains 和REST Query Executor 服务
您需要 JasperReports Server v5.1 或更高版本以及带有元数据层的版本,商业版!
REST endpoint for Jaspersoft Query Executor
摘要(仅在链接断开时有用)
呼叫:
{scheme}://{host}:{port}/{contextPath}/rest_v2/queryExecutor/{resourceUri}?q={queryString}
{queryString} 需要采用这种格式和 url 编码(请参阅 JasperReports Server User Guide 了解更多详情
<query>
<queryFields>
<queryField id="inv_store.inv_store__store_name" />
<queryField id="inv_store.inv_store__store_type" />
<queryField id="inv_store__store_contact.inv_store__store_contact__store_manager" />
</queryFields>
<queryFilterString>inv_store__region.inv_store__region__sales_state_province == 'CA'</queryFilterString>
</query>
例子
http://localhost/jasperserver-pro/rest_v2/queryExecutor/public/Samples/Domains/supermartDomain?q=%3Cquery%3E%3CqueryFields%3E%3CqueryField+id%3D%22inv_store.inv_store__store_name%22+%2F%3E%3CqueryField+id%3D%22inv_store.inv_store__store_type%22+%2F%3E%3CqueryField+id%3D%22inv_store__store_contact.inv_store__store_contact__store_manager%22+%2F%3E%3C%2FqueryFields%3E%3CqueryFilterString%3Einv_store__region.inv_store__region__sales_state_province+%3D%3D+'CA'%3C%2FqueryFilterString%3E%3C%2Fquery%3E
这将以xml 形式返回结果,要获得json 格式,请将标头“Accept: application/json” 添加到您的请求中。
【讨论】:
1.将字段放在详细信息带中,并在每个字段中添加属性“net.sf.jasperreports.export.json.path” 2.在服务器上部署,以便它可以用于 rest_v2 调用
【讨论】: