Forum Discussion

SL12345's avatar
SL12345
New Contributor III
3 years ago
Solved

Create hierarchical Json from mapper output

Hello Snaplogic experts,

is it possible from input

[
{
"Manufacturer":
"BMW"
"type":
"M3"
"Fuel":
"petrol"
}
{
"Manufacturer":
"BMW"
"type":
"M5"
"Fuel":
"petrol"
}
{
"Manufacturer":
"Mercedel"
"type":
"GLS"
"Fuel":
"diesel"
}
]


create output like this: 
[
        {
"Manufacturer": BMW
   "Infos":
        [
        {
        "type":"M3"
        "Fuel":"petrol"
        }
        {
        "type":"M5"
        "Fuel":"petrol"
        }
        ]
        }
        {
"Manufacturer": Mercedes
   "Infos":
        [
        {
        "type":"GLS"
        "Fuel":"diesel"
        }     
        ]
        }
]

ive tried with group by fields and withou success … iam curious if it is possible to add “Infos” into output, if it wasnt mentioned in input

thank you

  • Hello,

    You can achieve this by using a Mapper Snap with the following settings:

    Try it, and let me know if this helps.

    BR,
    Aleksandar.

7 Replies

  • Hello,

    You can achieve this by using a Mapper Snap with the following settings:

    Try it, and let me know if this helps.

    BR,
    Aleksandar.

    • SL12345's avatar
      SL12345
      New Contributor III

      Yes sir, it works as i wish … 🙂

    • SL12345's avatar
      SL12345
      New Contributor III

      My output looks like this: every “Infos” has its own manufacturer object. Is it possible to group/map it somehow

      so there will be one Manufacturer field for x objects? in this case only one manufacturer for X3 and X5 type

      [
              {
      "Manufacturer": BMW
         "Infos":
              [
              {
              "type":"M3"
              "Fuel":"petrol"
              }
              ]
       "Manufacturer": BMW
         "Infos":
              [       
              {
              "type":"M5"
              "Fuel":"petrol"
              }
              ]
              }
              {
      "Manufacturer": Mercedes
         "Infos":
              [
              {
              "type":"GLS"
              "Fuel":"diesel"
              }     
              ]
              }
      ]
      
      
      
      
      i would like to group it into/with Manufacturer  so i will have only one Manufacturer for x types
      
      [
              {
      "Manufacturer": BMW
         "Infos":
              [
              {
              "type":"M3"
              "Fuel":"petrol"
              }
              {
              "type":"M5"
              "Fuel":"petrol"
              }
              ]
              }
              {
      "Manufacturer": Mercedes
         "Infos":
              [
              {
              "type":"GLS"
              "Fuel":"diesel"
              }     
              ]
              }
      ]
      

      do i need group by field or structure snap ?

      thank you