У меня есть задача создать файл CSV из нескольких полезных нагрузок JSON (2). Ниже приведены мои образцы данных, предназначенные для понимания цели
- Payload-1
[
{
"id": "Run",
"errorMessage": "Cannot Run"
},
{
"id": "Walk",
"errorMessage": "Cannot Walk"
}
]
- Payload-2 (**Source Input**) in flowVars
[
{
"Action1": "Run",
"Action2": ""
},
{
"Action1": "",
"Action2": "Walk"
},
{
"Action1": "Sleep",
"Action2": ""
}
]
Теперь мне нужно сгенерировать CSV-файл с одним дополнительным столбцом для Исходный ввод с ErrorMessage на основе одного условия, где id в полезной нагрузке 1 соответствует с полем sourceInput , тогда errorMessage должен присвоить этому запрошенному полю и сгенерировать файл CSV в качестве вывода
я пробовал с помощью нижеуказанного dataweave
%dw 1.0
%output application/csv header=true
---
flowVars.InputData map (val,index)->{
Action1: val.Action1,
Action2: val.Action2,
(
payload filter ($.id == val.Action1 or $.id == val.Action2) map (val2,index) -> {
ErrorMessage: val2.errorMessage replace /([\n,\/])/ with ""
}
)
}
Но, здесь я столкнулся с проблемой, я могу создать файл с данными, как и ожидалось, но заголовок ErrorMessage отсутствует / не отображается в файле с моими реальными данными (в производстве ). Пожалуйста, помогите мне.
и ожидание выхода CSV ниже
Action1,Action2,ErrorMessage
Run,,Cannot Run
,Walk,Cannot Walk
Sleep,