Понимание преобразования потока MuleSoft - PullRequest
1 голос
/ 10 февраля 2020

Я новичок в потоках MuleSoft и Mule.

Я хочу объединить столбцы fromairport и toairport. Результат должен быть в таких столбцах, как:

fromairport           toairport

MUA                        LAX

MUA                        CLE

MUA                        SFO

.....

Я преобразую следующее json:

    [
      {
        "planeType": "Boeing 787",
        "code2": "0001",
        "takeOffDate": "2016-01-20T00:00:00",
        "code1": "rree",
        "fromAirport": "MUA",
        "price": 541,
        "seatsAvailable": 0,
        "toAirport": "LAX",
        "ID": 1,
        "airlineName": "American Airlines",
        "totalSeats": 200
      },
      {
        "planeType": "Boeing 747",
        "code2": "0123",
        "takeOffDate": "2016-01-25T00:00:00",
        "code1": "eefd",
        "fromAirport": "MUA",
        "price": 300,
        "seatsAvailable": 7,
        "toAirport": "CLE",
        "ID": 2,
        "airlineName": "American Airlines",
        "totalSeats": 345
      },
      {
        "planeType": "Boeing 777",
        "code2": "0192",
        "takeOffDate": "2016-01-20T00:00:00",
        "code1": "ffee",
        "fromAirport": "MUA",
        "price": 300,
        "seatsAvailable": 0,
        "toAirport": "LAX",
        "ID": 3,
        "airlineName": "American Airlines",
        "totalSeats": 300
      }
    ]

1 Ответ

0 голосов
/ 10 февраля 2020

Не думаю, что вопрос задан правильно. В DataWeave нет понятия «столбцы» как таковые. Есть объекты, массивы и атрибуты. Эквивалентом столбца является массив атрибутов объектов. Вы можете увидеть ту же концепцию на входе JSON, где planeType, code2, et c. являются столбцами.

Я предполагаю, что вы хотите, чтобы этот вывод не находился в JSON или XML, но вы хотите дополнительно обработать его, поэтому наилучшим соответствием для вывода должно быть приложение / java.

В Mule 4.x сценарий DataWeave:

%dw 2.0
output application/java
---
payload map (
    $.fromAirport ++ " to " ++ $.toAirport
)

ОБНОВЛЕНИЕ: На основании комментариев я обновил сценарий, чтобы он возвращал список строк. Каждая строка представляет собой конкатенацию атрибута fromAirport, буквальной строки «to» и атрибутов toAirport. Оба атрибута должны быть строками.

Вывод:

["MUA to LAX", "MUA to CLE", "MUA to LAX"]
...