Search code examples
dataweavemulesoftanypoint-studiomule4anypoint-platform

How to convert string to json object using DataWeave


How do I convert below input string (which will be retrieved from config.yaml properties file) to required json object using Dataweave?

Input:

"ABC:123,DEF:456,GHI:789"

Required Output:

{
    "ABC":"123",
    "DEF":"456",
    "GHI":"789"
}

Solution

  • splitBy and reduce can be used like below

    ("ABC:123,DEF:456,GHI:789" splitBy ",") reduce ((item, accumulator={}) -> 
        accumulator ++ 
        do
        {   
            var items = item splitBy  ":"
            ---
            (items[0]): items[1]
        })