Web services 如何将Jasper REST API的输出更改为JSON而不是XML

Web services 如何将Jasper REST API的输出更改为JSON而不是XML,web-services,rest,grails,jasper-reports,jasperserver,Web Services,Rest,Grails,Jasper Reports,Jasperserver,我计划在我的grails应用程序中集成一个jasper报告。该报告已在my community edition server中提供。我已经研究了Web服务API。但它总是返回XML输出。例如,如果我称之为webservice http://localhost:8181/jasperserver/rest_v2/resources?type=inputControl&j_username=jasperadmin&j_password=password 我得到以下输出 <?x

我计划在我的grails应用程序中集成一个jasper报告。该报告已在my community edition server中提供。我已经研究了Web服务API。但它总是返回XML输出。例如,如果我称之为webservice

http://localhost:8181/jasperserver/rest_v2/resources?type=inputControl&j_username=jasperadmin&j_password=password
我得到以下输出

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<resources>
    <resourceLookup>
        <creationDate>2015-08-26T12:27:31</creationDate>
        <description></description>
        <label>locationIds</label>
        <permissionMask>1</permissionMask>
        <updateDate>2016-02-09T13:47:42</updateDate>
        <uri>/tusar/inputControl/locationIds</uri>
        <version>1</version>
        <resourceType>inputControl</resourceType>
    </resourceLookup>
<resourceLookup>

2015-08-26T12:27:31
位置ID
1.
2016-02-09T13:47:42
/tusar/inputControl/locationIds
1.
输入控制

我的目的是以JSON而不是XML获取输出。

您需要为jrxml模板中的所有元素添加JSON标记。为此,您需要右键单击报表元素和-->JSON标记-->JSON元数据路径,然后单击确定

<property name="net.sf.jasperreports.export.json.path" value="ID"/>

您必须随请求一起提供content-type头,以便jasperserver能够以请求的格式响应

curl -i -H "Accept: application/json" -H "Content-Type: application/json" http://localhost:8181/jasperserver/rest_v2/resources?type=inputControl&j_username=jasperadmin&j_password=password
curl -i -H "Accept: application/json" -H "Content-Type: application/json" http://localhost:8181/jasperserver/rest_v2/resources?type=inputControl&j_username=jasperadmin&j_password=password