Mule-使用dataweave从Json对象提取密钥

Mule-使用dataweave从Json对象提取密钥,mule,dataweave,Mule,Dataweave,我需要从json输入对象中提取键和值,以形成不同的json输出 我浏览了文档和其他类似的问题,发现$$给出了键,但在我的例子中,它给了我索引,而不是键名 输入json如下所示:{ “键2”:“val2”, “key3”:“val3”, “键4”:“val4”, “键5”:“val5”, “键6”:“val6” } 我编写的dataweave代码是: { "someOtherKey": "val", properties: { entry: payload map {

我需要从json输入对象中提取键和值,以形成不同的json输出

我浏览了文档和其他类似的问题,发现$$给出了键,但在我的例子中,它给了我索引,而不是键名

输入json如下所示:
{
“键2”:“val2”,
“key3”:“val3”,
“键4”:“val4”,
“键5”:“val5”,
“键6”:“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 name作为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"
        }

    ]
}
}

使用而不是
map

%dw 1.0
%output application/json
---
{
    key: "val",
    key1: "val1",
    properties: {
        entry: payload mapObject {  
            key:$$,
            value:$
         }
    }
}

希望这对我有帮助。

这个标签对我有用。以下是一个例子:

{
"someOtherKey": "val",
properties: {
    entry: payload pluck

     {  
        key:$$,
        value:$
     }


}

}

谢谢,但这只给了我一个:{“someOtherKey”:“val”,“properties”:{“entry”:{“key”:“key6”,“value”:“val6”}}