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}
]
}
]