Mule- 使用数据编织从 Json 对象中提取密钥
Mule- Extracting key from Json object using dataweave
我需要从 json 输入对象中提取键和值以形成不同的 json 输出。
我浏览了文档和其他与此类似的问题,在那里我发现 $$ 给出了密钥,但在我的例子中,它给出了索引而不是密钥名称。
输入 json 如下所示:{
"key2": "val2",
"key3": "val3",
"key4": "val4",
"key5": "val5",
"key6": "val6"
}
我写的dataweave代码是:
{
"someOtherKey": "val",
properties: {
entry: payload map
{
key:$$,
value:$
}
}
}
转换后我得到:
{
"someOtherKey": "val",
"properties": {
"entry": [
{
"key": 0,
"value": "val2"
},
{
"key": 1,
"value": "val3"
},
{
"key": 2,
"value": "val4"
},
{
"key": 3,
"value": "val5"
},
{
"key": 4,
"value": "val6"
}
]
}
}
这里我期望输出键名作为 Key
的值
预期输出:
{
"someOtherKey": "val",
"properties": {
"entry": [{
"key": "key2",
"value": "val2"
},
{
"key": "key3",
"value": "val3"
},
{
"key": "key4",
"value": "val4"
},
{
"key": "key5",
"value": "val5"
},
{
"key": "key6",
"value": "val6"
}
]
}
}
使用mapObject
代替map
%dw 1.0
%output application/json
---
{
key: "val",
key1: "val1",
properties: {
entry: payload mapObject {
key:$$,
value:$
}
}
}
希望对您有所帮助。
标签 pluck 对我有用。这是示例:
{
"someOtherKey": "val",
properties: {
entry: payload pluck
{
key:$$,
value:$
}
}
}
我需要从 json 输入对象中提取键和值以形成不同的 json 输出。
我浏览了文档和其他与此类似的问题,在那里我发现 $$ 给出了密钥,但在我的例子中,它给出了索引而不是密钥名称。
输入 json 如下所示:{
"key2": "val2",
"key3": "val3",
"key4": "val4",
"key5": "val5",
"key6": "val6"
}
我写的dataweave代码是:
{
"someOtherKey": "val",
properties: {
entry: payload map
{
key:$$,
value:$
}
}
}
转换后我得到:
{
"someOtherKey": "val",
"properties": {
"entry": [
{
"key": 0,
"value": "val2"
},
{
"key": 1,
"value": "val3"
},
{
"key": 2,
"value": "val4"
},
{
"key": 3,
"value": "val5"
},
{
"key": 4,
"value": "val6"
}
]
}
}
这里我期望输出键名作为 Key
的值预期输出:
{
"someOtherKey": "val",
"properties": {
"entry": [{
"key": "key2",
"value": "val2"
},
{
"key": "key3",
"value": "val3"
},
{
"key": "key4",
"value": "val4"
},
{
"key": "key5",
"value": "val5"
},
{
"key": "key6",
"value": "val6"
}
]
}
}
使用mapObject
代替map
%dw 1.0
%output application/json
---
{
key: "val",
key1: "val1",
properties: {
entry: payload mapObject {
key:$$,
value:$
}
}
}
希望对您有所帮助。
标签 pluck 对我有用。这是示例:
{
"someOtherKey": "val",
properties: {
entry: payload pluck
{
key:$$,
value:$
}
}
}