Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jasper reports Jasper-从JSON数据源传递GregorianCalendar_Jasper Reports - Fatal编程技术网

Jasper reports Jasper-从JSON数据源传递GregorianCalendar

Jasper reports Jasper-从JSON数据源传递GregorianCalendar,jasper-reports,Jasper Reports,在我的报告中,我有一个字段tripDate作为java.util.GregorianCalendar: <field name="tripDate" class="java.util.GregorianCalendar"/> 或作为Datetime对象: "tripDate": { "date": "2020-08-12 10:10:10", "timezo

在我的报告中,我有一个字段
tripDate
作为
java.util.GregorianCalendar

<field name="tripDate" class="java.util.GregorianCalendar"/>
或作为Datetime对象:

"tripDate": {
    "date": "2020-08-12 10:10:10",
    "timezone_type": 3,
    "timezone": "Europe/Paris"
}
在这两种情况下,我都会得到错误:

Unable to get value for JSON field "tripDate" of class java.util.GregorianCalendar
Field "tripDate" is of class java.util.GregorianCalendar and can not be converted.

有一种方法可以从JSON数据源传递
java.util.Gregorianalendar
字段?

JSON/JSONQL数据源使用
java.util.Date
及其子类。 因此,您应该在textField类中使用其中一个

关于日期/时间JSON字符串的解析,根据您将JSON提供给报表的方式,您可以尝试:

  • 使用dataAdapter XML文件,您可以使用Jaspersoft Studio或手动设置日期模式:

    <jsonDataAdapter ...>
        ...
        <datePattern>yyyy-dd-MM hh:mm:ss</datePattern>
        ...
    </jsonDataAdapter>
    
以同样的方式,您可以设置解析数字的模式

<jsonDataAdapter ...>
    ...
    <datePattern>yyyy-dd-MM hh:mm:ss</datePattern>
    ...
</jsonDataAdapter>
<property name="net.sf.jasperreports.json.date.pattern" value="yyyy-dd-MM hh:mm:ss"/>