Mule Transform 从有效载荷中设置动态密钥
Mule Transform Set Dynamic Key From Payload
我想从负载中的 2 个不同字段设置一个键值字典。我的第一个想法是使用转换组件并动态设置密钥,但是这段代码不起作用:
%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>
JSON 在 Postman 中输入:
[
{
"objectnumber":75,
"objectid":"abcdefgh"
}
]
在方括号 (value) 中放置一个变量来定义动态键。因此,你可以试试这个代码:
%dw 1.0
%output application/json
---
payload map {
($.objectid): $.objectnumber
}
我想从负载中的 2 个不同字段设置一个键值字典。我的第一个想法是使用转换组件并动态设置密钥,但是这段代码不起作用:
%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>
JSON 在 Postman 中输入:
[
{
"objectnumber":75,
"objectid":"abcdefgh"
}
]
在方括号 (value) 中放置一个变量来定义动态键。因此,你可以试试这个代码:
%dw 1.0
%output application/json
---
payload map {
($.objectid): $.objectnumber
}