如何使用 Dataweave 2.0 从有效载荷中获取数组中的值对象
How to fetch object of values in an array from payload using Dataweave 2.0
我正在尝试将 XML 输入负载转换为 JSON 格式。有人可以帮助我使用 Dataweave 吗?
提前致谢
这是您要输出的内容吗?
输入
<root>
<entry>
<ID>ABS</ID>
<DEPARTMENT>EDF</DEPARTMENT>
<NUMBER>1234</NUMBER>
<YEAR>2021</YEAR>
<POSITION1>12</POSITION1>
<POSITION2>13</POSITION2>
</entry>
<entry>
<ID>ABFG</ID>
<DEPARTMENT>123ER</DEPARTMENT>
<NUMBER>4544</NUMBER>
<YEAR>2022</YEAR>
<POSITION1>20</POSITION1>
</entry>
</root>
脚本
%dw 2.0
output application/json
fun returnPosition(pkey,position) = {
b:(payload.root.*entry[position] - "ID" - "DEPARTMENT" - "NUMBER" - "YEAR")
}
---
root:{
entry: flatten(payload.root.*entry map (entryValue,entryIndex) -> {
a: flatten(1 to sizeOf((entryValue) - "ID" - "DEPARTMENT" - "NUMBER" - "YEAR" ) map {
"ID": entryValue.ID,
"DEPT": entryValue.DEPARTMENT,
"NUMBER": entryValue.NUMBER,
"YEAR": entryValue.YEAR ++ returnPosition("POSITION"++($$+1),(entryIndex)).b[($$)]
})
}.a)
}
输出
{
"root": {
"entry": [
{
"ID": "ABS",
"DEPT": "EDF",
"NUMBER": "1234",
"YEAR": "202112"
},
{
"ID": "ABS",
"DEPT": "EDF",
"NUMBER": "1234",
"YEAR": "202113"
},
{
"ID": "ABFG",
"DEPT": "123ER",
"NUMBER": "4544",
"YEAR": "202220"
}
]
}
}
我正在尝试将 XML 输入负载转换为 JSON 格式。有人可以帮助我使用 Dataweave 吗?
提前致谢
这是您要输出的内容吗?
输入
<root>
<entry>
<ID>ABS</ID>
<DEPARTMENT>EDF</DEPARTMENT>
<NUMBER>1234</NUMBER>
<YEAR>2021</YEAR>
<POSITION1>12</POSITION1>
<POSITION2>13</POSITION2>
</entry>
<entry>
<ID>ABFG</ID>
<DEPARTMENT>123ER</DEPARTMENT>
<NUMBER>4544</NUMBER>
<YEAR>2022</YEAR>
<POSITION1>20</POSITION1>
</entry>
</root>
脚本
%dw 2.0
output application/json
fun returnPosition(pkey,position) = {
b:(payload.root.*entry[position] - "ID" - "DEPARTMENT" - "NUMBER" - "YEAR")
}
---
root:{
entry: flatten(payload.root.*entry map (entryValue,entryIndex) -> {
a: flatten(1 to sizeOf((entryValue) - "ID" - "DEPARTMENT" - "NUMBER" - "YEAR" ) map {
"ID": entryValue.ID,
"DEPT": entryValue.DEPARTMENT,
"NUMBER": entryValue.NUMBER,
"YEAR": entryValue.YEAR ++ returnPosition("POSITION"++($$+1),(entryIndex)).b[($$)]
})
}.a)
}
输出
{
"root": {
"entry": [
{
"ID": "ABS",
"DEPT": "EDF",
"NUMBER": "1234",
"YEAR": "202112"
},
{
"ID": "ABS",
"DEPT": "EDF",
"NUMBER": "1234",
"YEAR": "202113"
},
{
"ID": "ABFG",
"DEPT": "123ER",
"NUMBER": "4544",
"YEAR": "202220"
}
]
}
}