Mule-从HashMap生成JSON格式的有效负载<;字符串,字符串>;按以下格式

Mule-从HashMap生成JSON格式的有效负载<;字符串,字符串>;按以下格式,mule,esb,mulesoft,Mule,Esb,Mulesoft,Mule 3.9:如何从HashMap类型生成JSON格式的有效负载 将HashMap类型负载转换为JSON数组格式。HashMap的示例数据 关键词:价值 MK1:T1 MK2:T2 MK3:T3 从DataWeave 1.0在Mule中生成的目标格式 { "cars": [ { "makeId": "MK1", "makeName": "T1" }, { "makeId": "MK2", "makeName": "T

Mule 3.9:如何从HashMap类型生成JSON格式的有效负载

将HashMap类型负载转换为JSON数组格式。HashMap的示例数据

关键词:价值 MK1:T1 MK2:T2 MK3:T3

从DataWeave 1.0在Mule中生成的目标格式

{
  "cars": [
    {
      "makeId": "MK1",
      "makeName": "T1"
    },
    {
      "makeId": "MK2",
      "makeName": "T2"
    },
    {
      "makeId": "MK3",
      "makeName": "T3"
    }
  ]
}

是否可以将密钥和值(均为字符串类型)的HashMap转换为上述定义的JSON数组格式。

在Mule dataweave中了解了一些有关map运算符的详细信息后,我能够使用下面的转换器解决此问题

%dw 1.0

%输出应用程序/json “汽车”: 有效载荷映射{ makeId:$,
makeName:$}

在了解了Mule dataweave中map操作符的一些细节之后,我能够使用下面的转换器解决这个问题

%dw 1.0

%输出应用程序/json “汽车”: 有效载荷映射{ makeId:$,
makeName:$}

此脚本生成预期结果:

%dw 1.0
%output application/json
---
{
    "cars": payload pluck { 
        makeId: $, 
        makeName: $$ 
    }   
}
输出:

{
  "cars": [
    {
      "makeId": "T1",
      "makeName": "MK1"
    },
    {
      "makeId": "T3",
      "makeName": "MK3"
    },
    {
      "makeId": "T2",
      "makeName": "MK2"
    }
  ]
}

此脚本生成预期结果:

%dw 1.0
%output application/json
---
{
    "cars": payload pluck { 
        makeId: $, 
        makeName: $$ 
    }   
}
输出:

{
  "cars": [
    {
      "makeId": "T1",
      "makeName": "MK1"
    },
    {
      "makeId": "T3",
      "makeName": "MK3"
    },
    {
      "makeId": "T2",
      "makeName": "MK2"
    }
  ]
}

这个答案没有提供预期的结果。在映射操作中,$$返回键的索引(一个数字),而不是它的值。对我来说,它只是返回id索引,而不考虑键的实际字符串值。此答案不提供预期结果。在映射操作中,$$返回键的索引(一个数字),而不是它的值。对我来说,它只是返回id索引,而不考虑键的实际字符串值。