Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.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
Mule变换集来自有效负载的动态密钥_Mule_Anypoint Studio_Dataweave - Fatal编程技术网

Mule变换集来自有效负载的动态密钥

Mule变换集来自有效负载的动态密钥,mule,anypoint-studio,dataweave,Mule,Anypoint Studio,Dataweave,我想从有效负载中的两个不同字段设置一个键值字典。我的第一个想法是使用转换组件并动态设置密钥,但此代码不起作用: %dw 1.0 %output application/java --- { payload.objectnumber: payload.objectid } 我得到这个错误: Multiple markers at this line - Invalid input "payload.", expected conditionalKeyValuePair, keyVa

我想从有效负载中的两个不同字段设置一个键值字典。我的第一个想法是使用转换组件并动态设置密钥,但此代码不起作用:

%dw 1.0
%output application/java
---
{
    payload.objectnumber: payload.objectid
}
我得到这个错误:

Multiple markers at this line
- Invalid input "payload.", expected conditionalKeyValuePair,
   keyValuePair, enclosedExpr or objectEnd
- no viable alternative at input 'payload'
- no viable alternative at input '.'
有什么办法让它工作吗

输入:

[{
  objectnumber: 75,
  objectid: "abcdefgh"
}]
预期产出:

[{
  "abcdefgh": 75
}]
请尝试下面的代码

    <dw:transform-message metadata:id="b968b3ec-ed0a-492d-bf32-bcfe0d20e9d0" doc:name="Transform Message">
        <dw:set-payload><![CDATA[%dw 1.0
       %output application/java
       %var objectId = payload.objectid
       ---
        objectId :payload.objectnumber
        ]]></dw:set-payload>
    </dw:transform-message>
请尝试下面的代码

    <dw:transform-message metadata:id="b968b3ec-ed0a-492d-bf32-bcfe0d20e9d0" doc:name="Transform Message">
        <dw:set-payload><![CDATA[%dw 1.0
       %output application/java
       %var objectId = payload.objectid
       ---
        objectId :payload.objectnumber
        ]]></dw:set-payload>
    </dw:transform-message>

在括号(值)内放置一个变量以定义动态键。因此,您可以尝试以下代码:

%dw 1.0
%output application/json
---
payload map {
    ($.objectid): $.objectnumber
}

在括号(值)内放置一个变量以定义动态键。因此,您可以尝试以下代码:

%dw 1.0
%output application/json
---
payload map {
    ($.objectid): $.objectnumber
}

发布你的输入有效载荷和预期输出?是的,我会将其添加到问题中,但非常简单发布你的输入有效载荷和预期输出?是的,我会将其添加到问题中,但非常简单