How to create Json Parameter based on CDT of Array?

Certified Associate Developer

Hello All,

I'm having some difficulty for creating Json parameter based on my cdt. Here is the scenario,

 

Suppose my CDT is as below

[ID:12,Identifier:"Abc",Label:"NumberOfPages",Value:"30"],

[ID:13,Identifier:"Pqr",Label:"LastModified",Value:"2018-12-11"]

 

Now I need to create a Json parameter in such a way that it consists of label and value as a actual parameter and its value i.e. Json output should be something like

{"NumberOfPages":"30",LastModified":"2018-12-11"}

 

Any suggestion here would be appreciated. Thanks in advance

  Discussion posts and replies are publicly visible

Parents Reply
  • 0
    Certified Lead Developer
    in reply to chandu

    Fair point - presuming the original input is a CDT array with different Labels, we would want to handle the conversion in a loop.

    with(
      local!myCdt: {
        {
          ID: 12,
          Identifier: "Abc",
          Label: "NumberOfPages",
          Value: 30
        },
        {
          ID: 47,
          Identifier: "XYZ",
          Label: "LastModified",
          Value: today()
        }
      },
      
      local!customDictionary: a!toJson(
        a!forEach(
          local!myCdt,
          with(
            local!initialJson: a!toJson(
              {
                replaceWithLabel: fv!item.Value
              }
            ),
            
            local!convertedJson: substitute(
              local!initialJson,
              "replaceWithLabel",
              fv!item.Label
            ),
            
            a!fromJson(local!convertedJson)
          )
        )
      ),
      
      local!customDictionary
    )

    Output: 

    [{"NumberOfPages":30},{"LastModified":"2018-06-29Z"}]
Children
No Data