Мой пример полезной нагрузки приведен ниже.
{
"Identifier": "1111111111",
"Type": "Test",
"Codes": [
{
"CodeId": "112233-ABC",
"Code": {
"ID": "112233",
"Name": "ABC"
}
},
{
"CodeId": "445566-DEF",
"Code": {
"ID": "445566",
"Name": "DEF"
}
},
{
"CodeId": "778899-GHI",
"Code": {
"ID": "778899",
"Name": "GHI"
}
}
]
}
У меня есть 2 переменные сеанса, а также приведенные ниже:
%var var1 =
{
"112233": "900123",
"445566": "900456",
"778899": "900789"
}
%var var2 =
{
"value": [
{
"Desc": "Alpha",
"TempId": 900123
},
{
"Desc": "Bravo",
"TempId": 900456
},
{
"Desc": "Charlie",
"TempId": 900789
}
]
}
Мне нужно выполнить динамический c поиск с этими 2 переменными и добавьте новый атрибут (атрибуты) в основную полезную нагрузку, как указано ниже:
{
"Identifier": "1111111111",
"Type": "Test",
"Codes": [
{
"CodeId": "112233-ABC",
"Code": {
"ID": "112233",
"Name": "ABC",
"Description": "Alpha"
}
},
{
"CodeId": "445566-DEF",
"Code": {
"ID": "445566",
"Name": "DEF",
"Description": "Bravo"
}
},
{
"CodeId": "778899-GHI",
"Code": {
"ID": "778899",
"Name": "GHI",
"Description": "Charlie"
}
}
]
}
Идея состоит в том, чтобы выполнить поиск, используя значение из var1 против TempId в var2 и получим Des c. Это должно быть добавлено в массив Code путем сопоставления с ID. Если значение не найдено, вставьте ноль. Я нахожусь на dataweave 1.0
Заранее спасибо