我是 Jasper 报告的新手,所以如果允许的话,我会写下我的整个任务。
我正在尝试解析 json 数据以在其中打印 PDF。数据来自 oracle DB,写在 CLOB 列中,所以我有 json-clob 记录列表。
我有嵌套列表 json(和 clob)数据,所以我无法用我的碧玉经验构建 3 级嵌套报告。我有这样的json结构:
{
title: 'Main Title',
blocks: [{
title: 'Inner Title',
items: [{
key: '1',
value: 'some text'
}, {
key: '2',
value: 'some other text'
}]
}, {
text: 'here may be other fields (text, not title)'
}]
}
对于这个 json 数据,我想在 PDF 中得到这个结果(只是简单的输出):
Main Title
Inner Title
1 some text
2 some other text
here may be other fields (text, not title)
首先,我在 json 源代码中使用 CLOB 转换(脚本:
< dataSourceExpression >
< ![CDATA[new net.sf.jasperreports.engine.data.JsonQLDataSource(new ByteArrayInputStream($F{JSON_CLOB_RECORD}.getBytes("UTF-8")))]] >
< /dataSourceExpression >
来源:带有 json 数据源的嵌套 jasper 子报表)。
之后,我使用 jr:list 和 textfield 来打印主要标题。我已经完成了,不知道如何继续。
我搜索了嵌套列表 (jr:list) 但没有,不适合我的任务。
PS 我有 subDataset 用于将数据从 CLOB 解析为 json 字段标题(java.lang.String)和块(我在这里尝试过 java.util.Collection 和 ArrayList 但发生错误,而不是我写的 java.lang.Object。有必要吗在此子数据集中写入块字段?)。我还为块列表添加了 subDataset,是否需要?如果是,那么我也必须添加项目子数据集,对吗?此外,我尝试在主标题文本字段之后添加 subReport,用于块列表并添加 dataSourceExpression 但无法继续。
需要一些帮助。
