Search code examples
muledataweaveanypoint-studiomule4

Need inputs to convert Mule3 code to Mule4 code


We are migrating Mule3 project to Mule4. Migrated using MMA and encountered few conversion: Need to convert below Mule3 code to Mule4 code:

#[payload.replace("MonthlyData", tempMonthlyData)]

payload =

{
    "MonthlyData": [
    {
      "Directory title": "Test1",
      "P2 - Number": "1234",
      "M1 - Reference Number": "1234049",
      "A5 - Unique Reference Code": "456767",
      "M2 - Valuation Year": "2018"
    },
    {
      "Directory title": "Test1",
      "P2 - Number": "1234",
      "M1 - Reference Number": "123564049",
      "A5 - Unique Reference Code": "45677787",
      "M2 - Valuation Year": "2019"
    }
    ]
}

variable tempMonthlyData =

[ 
    {
        "Directory title": "Mule3",
        "P2 - Number": "fas62",
        "M1 - Reference Number": "27as0049",
        "A5 - Unique Reference Code": "1as7",
        "M2 - Year": "2016",
        "M4 - Valuer Name ": "asd"
    },
   {
        "Directory title": "Mule4",
        "P2 - Number": "fas62",
        "M1 - Reference Number": "28as0049",
        "A5 - Unique Reference Code": "7as7",
        "M2 - Year": "2018",
        "M4 - Valuer Name ": "xyz"
   }
 ] 

Solution

  • Using the update operator:

    %dw 2.0
    output application/json
    ---
    payload  update {
            case .MonthlyData ->  vars.tempMonthlyData
    }
    

    Output:

    {
      "MonthlyData": [
        {
          "Directory title": "Mule3",
          "P2 - Number": "fas62",
          "M1 - Reference Number": "27as0049",
          "A5 - Unique Reference Code": "1as7",
          "M2 - Year": "2016",
          "M4 - Valuer Name ": "asd"
        },
        {
          "Directory title": "Mule4",
          "P2 - Number": "fas62",
          "M1 - Reference Number": "28as0049",
          "A5 - Unique Reference Code": "7as7",
          "M2 - Year": "2018",
          "M4 - Valuer Name ": "xyz"
        }
      ]
    }