【问题标题】:BIRT Report JSON array printed valuesBIRT 报告 JSON 数组打印值
【发布时间】:2020-08-28 17:39:51
【问题描述】:

我正在尝试将数据库列中的 JSON 值打印到 Birt 报告中的多行中。它可以很好地打印 JSON 数组的最后一行,但不会打印它之前的行。

我的动态文本字段代码:

var phone = JSON.parse(row["c_numbers"]);
for(var k in phone) {
    phone[k]['type']+': '+phone[k]['phone']
}

这是打印出来的:

这是来自数据库的 JSON:

[{"type": "Cell", "phone": "123-123-1233"}, {"type": "", "phone": "123-423-4123"}]

最简单的方法就是将其打印出来,但它并没有比最后一个数组项做更多的事情。报告设计:

所以它正在获取数据,遍历 JSON,并打印,但不是所有的数组项,只有最后一个。

【问题讨论】:

  • 我做了,上面的json。您可以将该 json 放入 BIRT 报告中并运行它进行测试。我无法提供我们的 RPTDesign 文件。

标签: javascript java json birt


【解决方案1】:

答案是将新数据分配给一个新变量,然后在最后打印出该最终变量。我还必须在每个输出的末尾添加 <br> 换行符。

var phone = JSON.parse(row["c_numbers"]);
var finalPhone = '';

for(var k in phone) {
    finalPhone = finalPhone+(phone[k]['type'] > '' ? phone[k]['type']+': ' : '')+phone[k]['phone']+"<br>"
}

finalPhone;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-18
    • 2015-10-29
    • 1970-01-01
    相关资源
    最近更新 更多