Search code examples
muleanypoint-studiodataweave

String Map to Object / JSON - Mule DataWeave


I have a string like this (which looks like a map)

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

which I want to either convert to a java object or as a JSON payload like this:

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

Is there a mule way to do it ? I am trying to avoid writing a custom java class for this problem. Something which data weave can help?


Solution

  • Use this to get map

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

    Hope this helps.