Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
理解MuleSoft流变换_Mule_Mule Studio - Fatal编程技术网

理解MuleSoft流变换

理解MuleSoft流变换,mule,mule-studio,Mule,Mule Studio,我不熟悉MuleSoft和Mule flows 我想将从Airport和连接到Airport列。结果应列在如下列中: fromairport toairport MUA LAX MUA CLE MUA SFO ..... 我正在转换以下json: [ { "planeType": "Boeing

我不熟悉MuleSoft和Mule flows

我想将
从Airport
连接到Airport
列。结果应列在如下列中:

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
      }
    ]

我认为这个问题表达得不正确。DataWeave中没有“列”这样的概念。有对象、数组和属性。列的等价物是对象的属性数组。您可以在输入JSON中看到相同的概念,其中planeType、code2等是“列”

我假设您不想要JSON或XML格式的输出,但希望进一步处理它,因此输出的最佳匹配应该是application/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"]

我认为这个问题表达得不正确。DataWeave中没有“列”这样的概念。有对象、数组和属性。列的等价物是对象的属性数组。您可以在输入JSON中看到相同的概念,其中planeType、code2等是“列”

我假设您不想要JSON或XML格式的输出,但希望进一步处理它,因此输出的最佳匹配应该是application/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"]

谢谢你,艾利德。这很好,但我需要说明“从机场到机场”和“到机场”的情况。你能在问题中澄清预期结果吗?这似乎意味着您希望输出为2列,但连接应该在哪里还不清楚。另外,您的意思是连接这两个字符串吗?我的期望是:将“fromAirport”连接到“toAirport”。结果将是从MUA到LAX,MUA到CLE,MUA到SFOE,我也很困惑。在您的问题中,您已经发布了您说过的“结果应该在列中”(并且您显示了您的预期输出)。现在你说的不一样了。请编辑您的问题并准确解释您的要求。谢谢Aled。这很好,但我需要说明“从机场到机场”和“到机场”的情况。你能在问题中澄清预期结果吗?这似乎意味着您希望输出为2列,但连接应该在哪里还不清楚。另外,您的意思是连接这两个字符串吗?我的期望是:将“fromAirport”连接到“toAirport”。结果将是从MUA到LAX,MUA到CLE,MUA到SFOE,我也很困惑。在您的问题中,您已经发布了您说过的“结果应该在列中”(并且您显示了您的预期输出)。现在你说的不一样了。请编辑您的问题并准确解释您的要求。