从 dataweave 2.0 Mule 4 中的父 JSON 对象中提取 JSON 键值对的子集作为对象
Extracting a subset of JSON key-value pairs as an Object from a Parent JSON Object in dataweave 2.0 Mule 4
我有一个 dataweave 挑战,如果不把它弄复杂我就无法弄明白。
输入JSON有效负载
{
"Name" : "Mr.wolf",
"Age" : 26,
"Region" : "USA",
"SubRegion": "Pacific"
}
需要输出
{
"Name" : "Mr.wolf",
"Age" : 26
}
这是一个问题。我不允许在转换消息中使用上面显示的输出格式结构,或者使用“-”操作删除密钥。
所以基本上,我们不应该使用下面的 dwl。
%dw 2.0
output application/json
---
(payload - "Region" - "SubRegion")
或
%dw 2.0
output application/json
---
{
"Name" : payload.Name,
"Age" : payload.Age
}
我们如何使用 Lambdas、Reduce、mapObject、函数或任何其他选择的操作来实现所需的输出,而不是上面显示的受限 methods/usage。
非常感谢提供的任何解决方案。
听起来 filterObject
适合您。 Documentation
payload filterObject ((value, key) -> (key ~= "Name" or key ~= "Age"))
同一方法的另一种形式。
%dw 2.0
output application/json
---
payload mapObject {
(($$) : $) if (($$) ~= "Name" or ($$) ~= "Age")
}
这是您要找的吗?
%dw 2.0
output application/json
---
payload filterObject ((value, key,index) -> (index <2 ))
另一个版本是:
%dw 2.0
output application/json
---
payload mapObject {
(($$) : $) if (($$$) < 2)
}
我有一个 dataweave 挑战,如果不把它弄复杂我就无法弄明白。
输入JSON有效负载
{
"Name" : "Mr.wolf",
"Age" : 26,
"Region" : "USA",
"SubRegion": "Pacific"
}
需要输出
{
"Name" : "Mr.wolf",
"Age" : 26
}
这是一个问题。我不允许在转换消息中使用上面显示的输出格式结构,或者使用“-”操作删除密钥。
所以基本上,我们不应该使用下面的 dwl。
%dw 2.0
output application/json
---
(payload - "Region" - "SubRegion")
或
%dw 2.0
output application/json
---
{
"Name" : payload.Name,
"Age" : payload.Age
}
我们如何使用 Lambdas、Reduce、mapObject、函数或任何其他选择的操作来实现所需的输出,而不是上面显示的受限 methods/usage。
非常感谢提供的任何解决方案。
听起来 filterObject
适合您。 Documentation
payload filterObject ((value, key) -> (key ~= "Name" or key ~= "Age"))
同一方法的另一种形式。
%dw 2.0
output application/json
---
payload mapObject {
(($$) : $) if (($$) ~= "Name" or ($$) ~= "Age")
}
这是您要找的吗?
%dw 2.0
output application/json
---
payload filterObject ((value, key,index) -> (index <2 ))
另一个版本是:
%dw 2.0
output application/json
---
payload mapObject {
(($$) : $) if (($$$) < 2)
}