BIRT Report JSON 数组打印值

BIRT Report JSON array printed values

我正在尝试将数据库列中的 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,然后打印,但不是所有数组项,只有最后一个。

答案是将新数据分配给一个新变量,然后在最后打印出最终变量。我还必须在每个输出的末尾添加 <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;