我想显示以下输出(json),输入来自pl / sql游标, 我的问题:
personId
键组合2个游标结果?谢谢
输入:
personCursor:
[{personName=a,personId=1}, {personName=b,personId=2}]
*contactCursor*
[{personId=1, firstName==x, phone=123}, {personId=1, firstName==y, phone=234}, {personId=2, firstName==z, phone=345},{personId=2, firstName==w, phone=456}]
**output:**
[
{
"personName": "a",
"personId": "1",
"contacts":
[
{
"firstname": "x",
"phone": 123
},
{
"firstname": "y",
"phone": 234
},
]
},
{
"personName": "b",
"personId": "2",
"contacts":
[
{
"firstname": "z",
"phone": 345
},
{
"lastname": "w",
"phone": 456
},
]
}
]
答案 0 :(得分:0)
要获得输出,您必须使用类似
的脚本contactCursor
有效负载为flowVars.PersonCursor
且personCursor
为{{1}}。给定代码将使用Hashmap查找组合数据。在pl / sql游标的情况下,输入将是java。
HTH
答案 1 :(得分:0)
另一种方法是使用2个地图运算符并循环通过数组并构造输出Json以及过滤条件以将联系人关联到正确的人。 应该是下面的内容:
PersonCursor map(v1,i1) {
personName": $.personName,
"personId": $.personId,
contacts : contactCursor map {
"firstname": $.firstname,
"phone": $.phone
} filter $.personId == v1.personId
}