字符串映射到对象/JSON - Mule DataWeave

String Map to Object / JSON - Mule DataWeave

我有一个像这样的字符串(看起来像地图)

{key1=value1;key2=value2;key3=value3;...keyn=valuen;}

我想将其转换为 java 对象或作为 JSON 有效负载,如下所示:

{"key1" : "value1","key2" : "value2","key3" : "value3",..."keyn" : "valuen"}

有没有办法做到这一点?我试图避免为此问题编写自定义 java class。哪些数据编织可以提供帮助?

我在dataweave中使用了following来操作字符串。

%dw 1.0
%output application/json
---
(payload replace /[{}]/ with "" splitBy ";")  map using (data = $ splitBy "=")   {
    (data[0]) : data[1]
}

输入数据:-

"{key1=value1;key2=value2;key3=value3;keyn=valuen}"

输出:-

[
  {
    "key1": "value1"
  },
  {
    "key2": "value2"
  },
  {
    "key3": "value3"
  },
  {
    "keyn": "valuen"
  }
]

希望这对您有所帮助..

使用它来获取地图

%dw 1.0
%output application/json
---
{((payload replace /[{}]/ with "" splitBy ";")  map using (data = $ splitBy "="){
    (data[0]) : data[1]
})}

希望对您有所帮助。