如何使用JasperReports JSON元数据出口商生成包含对象的对象数组

发布于 2025-02-07 10:08:54 字数 2340 浏览 2 评论 0原文

我的数据与下面一样简单,是jasper报告:

名为,并
JohnCarter
MaryAnn
JackThomas

希望将其导出到JSON。我正在尝试使用JSON Metadata,如所述在这里。

我可以

[
    {
        "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 Metadata出口商的资源很少,即使是从JasperReports出口商也很少。有时我认为这是没有人使用或关心的半烘烤晦涩的功能。

I have data as simple as below is a jasper report:

firstNamelastName
johncarter
maryann
jackthomas

and would like to export it to json. I'm trying to use Json metadata as described here.

I'm able to get the output below:

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

by using the schema below:

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

and these properties in the text fields:

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

The problem arises when I try to generate a more complicated (but not that much) json. As below:

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

The schema changes of course to this:

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

I changed the path in the text fields to this:

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

What I get is this malformed json:

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

Do you guys have any idea what I'm doing wrong? There is so little resources on this Json metadata exporter, even from JasperReports. Sometimes I think it's a half baked obscure feature nobody uses or cares about.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

审判长 2025-02-14 10:08:54

这是一个数组[]

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

This is an Array []

[
    {
        "person": 
        [
            {
                "firstName": "john",
                "lastName": "carter"
            },
            {
                "firstName": "mary",
                "lastName": "ann"
            },
            {
                "firstName": "jack",
                "lastName": "thomas"
            }
        ]
    }
]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文