使用 DataWeave 修补数据
Patch data with DataWeave
我的目标是合并以下 JSON:
{
lastname:"C.",
firstname:"Sebastien"
}
和
{
lastname:"Coucou",
age:"N/A"
}
这是我想要的结果:
{
"lastname": "Coucou",
"firstname": "Sebastien",
"age": "N/A"
}
如果键存在我想更新值,如果键不存在我想添加它。
这是我所做的:
%dw 2.0
output application/json
import * from dw::core::Objects
var data={
lastname:"C.",
firstname:"Sebastien"
}
var patch ={
lastname:"Coucou",
age:"N/A"
}
---
patch ++ (data -- keySet(patch))
作为输出:
{
"lastname": "Coucou",
"age": "N/A",
"firstname": "Sebastien"
}
最简单的方法似乎是使用 Objects 模块中的 mergeWith()
函数:
%dw 2.0
import mergeWith from dw::core::Objects
output application/json
var data={
lastname:"C.",
firstname:"Sebastien"
}
var patch ={
lastname:"Coucou",
age:"N/A"
}
---
patch mergeWith data
输出:
{
"age": "N/A",
"lastname": "C.",
"firstname": "Sebastien"
}
我的目标是合并以下 JSON:
{
lastname:"C.",
firstname:"Sebastien"
}
和
{
lastname:"Coucou",
age:"N/A"
}
这是我想要的结果:
{
"lastname": "Coucou",
"firstname": "Sebastien",
"age": "N/A"
}
如果键存在我想更新值,如果键不存在我想添加它。
这是我所做的:
%dw 2.0
output application/json
import * from dw::core::Objects
var data={
lastname:"C.",
firstname:"Sebastien"
}
var patch ={
lastname:"Coucou",
age:"N/A"
}
---
patch ++ (data -- keySet(patch))
作为输出:
{
"lastname": "Coucou",
"age": "N/A",
"firstname": "Sebastien"
}
最简单的方法似乎是使用 Objects 模块中的 mergeWith()
函数:
%dw 2.0
import mergeWith from dw::core::Objects
output application/json
var data={
lastname:"C.",
firstname:"Sebastien"
}
var patch ={
lastname:"Coucou",
age:"N/A"
}
---
patch mergeWith data
输出:
{
"age": "N/A",
"lastname": "C.",
"firstname": "Sebastien"
}