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 viveku3486

    For this you would need some sort of custom code, as this isn't really a use case a!toJson is intended to work with.

    The only suggestion I can think of is, use your original CDT and formulate a custom dictionary and then convert that to JSON, and afterwards manually swap out values within the resulting JSON string.  Note that this is a little complicated and might not scale very well.

    load(
      local!myCdt: {
        ID: 12,
        Identifier: "Abc",
        Label: "NumberOfPages",
        Value: 30,
        LastModified: today()
      },
      
      local!customDictionary: {
        replaceWithLabel: local!myCdt.Value
      },
      
      local!initialJson: a!toJson(local!customDictionary),
      
      substitute(
        local!initialJson,
        "replaceWithLabel",
        local!myCdt.Label
      )
    )

    Result:

    {"NumberOfPages":30}
Children