Динамически ссылаться на имена полей полезной нагрузки в Dataweave - PullRequest
0 голосов
/ 01 марта 2019

Я использую Anypoint Studio 7.3 и Mule 4.1.

Я хочу динамически передавать имя поля из полезной нагрузки JSON при преобразовании сообщения, поэтому при первом вызове я хочу использовать значения в "поле cat_name ", и когда я вызываю его во второй раз, я хочу использовать значения в поле" dog_name ", поскольку структура выходного сообщения будет такой же.Поэтому для "cat_name" я бы хотел, чтобы $. (Vars.codetest) был разрешен как payload.cat_name, а для "dog_name" я бы хотел, чтобы $. (Vars.codetest) был разрешен как payload.dog_name

Есть ли способ сделать это?

%dw 2.0
output application/json
---
(payload distinctBy $.#[vars.codetest]) map ((payload01, indexOfPayload) ->{
    name: $.(vars.codetest)
})

Спасибо за любую помощь

1 Ответ

0 голосов
/ 01 марта 2019

Что-то вроде этого должно работать:

%dw 2.0
output application/json
---
payload 
  distinctBy $[vars.codetest]   
  map ((element) -> { name: element[vars.codetest] })

Вам может понадобиться скобки вокруг codeTest (то есть (vars.codetest)), чтобы он оценивался перед поиском.

...