【问题标题】:How to use JasperReports json metadata exporter to produce an array of objects that contain objects如何使用 JasperReports json 元数据导出器生成包含对象的对象数组
【发布时间】:2023-02-25 21:30:29
【问题描述】:

我有如下简单的数据是碧玉报告:

firstName lastName
john carter
mary ann
jack thomas

并想将其导出到 json。我正在尝试使用 here 所述的 Json 元数据。

我能够得到以下输出:

[
    {
        "firstName": "john",
        "lastName": "carter"
    },
    {
        "firstName": "mary",
        "lastName": "ann"
    },
    {
        "firstName": "jack",
        "lastName": "thomas"
    }
]

通过使用以下架构:

{
  _type: 'array',
  _children: {
    _type: 'object',
    firstName: 'value',
    lastName: 'value'
  }
}

以及文本字段中的这些属性:

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

当我尝试生成更复杂(但不是那么多)的 json 时,问题就出现了。如下:

[
    {
        "person": {
            "firstName": "john",
            "lastName": "carter"
        }
    },
    {
        "person": {
            "firstName": "mary",
            "lastName": "ann"
        }
    },
    {
        "person": {
            "firstName": "jack",
            "lastName": "thomas"
        }
    }
]

架构当然会更改为:

{
  _type: 'array',
  _children: {
    _type: 'object',
    person: {
      _type: 'object',
      firstName: 'value',
      lastName: 'value'
    }
  }
}

我将文本字段中的路径更改为:

<property name="net.sf.jasperreports.export.json.path" value="person.firstName"/>
<property name="net.sf.jasperreports.export.json.path" value="person.lastName"/>

我得到的是这个格式错误的 json:

[
    {
        "person": {
            "firstName": "john",
            "lastName": "carter"
        },
        {
            "firstName": "mary",
            "lastName": "ann"
        },
        {
            "firstName": "jack",
            "lastName": "thomas"
        }
    }
]

你们知道我做错了什么吗?这个 Json 元数据导出器的资源太少了,甚至来自 JasperReports。有时我认为这是一个半生不熟的晦涩功能,没有人使用或关心。

【问题讨论】:

    标签: json jasper-reports


    【解决方案1】:

    这是一个数组 []

    [
        {
            "person": 
            [
                {
                    "firstName": "john",
                    "lastName": "carter"
                },
                {
                    "firstName": "mary",
                    "lastName": "ann"
                },
                {
                    "firstName": "jack",
                    "lastName": "thomas"
                }
            ]
        }
    ]
    

    【讨论】:

      猜你喜欢
      • 2019-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-28
      • 1970-01-01
      • 1970-01-01
      • 2016-12-06
      • 1970-01-01
      相关资源
      最近更新 更多