โ06-19-2019 08:24 AM
Iโm trying transform the data as below using mapper. Could someone please let me know how this can be done with mapper snap.
Input Schema:
[
department_Id: number,
details: [
{ firstname: string, lastname: string, id: number},
{ firstname: string, lastname: string, id: number}
]
]
Expected Output Schema:
[
department_Id: number,
details: [
{ name: string = firstname+ " "+ lastname, id: number},
{ name: string = firstname+ " "+ lastname, id: number}
]
]
Solved! Go to Solution.
โ06-20-2019 07:54 AM
Think this does what youโre looking for.
I used the first mapper to re-map the entries in the details array and then the second mapper to rename the details property to users.
Here is what I was mentioning about using the Mapping Root. This is very helpful for working with nested arrays.
Here is the complete example for you to try out. Good luck with your work.
make-users_2019_06_20.slp (5.5 KB)
โ06-19-2019 08:57 AM
Iโd recommend using the Mapping Root property in the Mapper snap. You can set that to be $.details[*]
and that will allow you to transform each element of the details array.
Take a look at this post for another example and feel free to follow up with other questions.
โ06-20-2019 12:34 AM
โ06-20-2019 05:25 AM
Hi Pavan,
test123_2019_06_20.slp (5.1 KB)
โ06-20-2019 05:30 AM
Hi Ajay,
it is not working as expected.
Input Json:
[
{department_Id: 1,
details: [
{ firstname: โaโ, lastname: โbโ, id: 1},
{ firstname: โcโ, lastname: โdโ, id: 2}
]
},
{department_Id: 2,
details: [
{ firstname: โeโ, lastname: โfโ, id: 3},
{ firstname: โgโ, lastname: โhโ, id: 4}
]
}
]
Expected Output Json:
[
{department_Id: 1,
users: [
{ name: โa bโ, id: 1},
{ name: โc dโ, id: 2}
]
},
{department_Id: 2,
users: [
{ name: โe fโ, id: 3},
{ name: โg hโ, id: 4}
]
}
]