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;
我正在尝试将数据库列中的 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;