05-06-2019 05:43 AM
Hi Team,
I have the below input data :
[
{
ID:123
“Name”:“Tony”,
“Age”:24
},
{
ID:124
“Name”:“Sam”,
“Age”:36
},
{
ID:125
“Name”:“Glenn”,
“Age”:58
}]
I need to add one more field ‘halfAge’ to the above and output data should be like below:
[
{
ID:123
“Name”:“Tony”,
“Age”:24,
“halfAge”:12
},
{
ID:124
“Name”:“Sam”,
“Age”:36
“halfAge”:18
},
{
ID:125
“Name”:“Glenn”,
“Age”:58,
“halfAge”:29
}]
Can you please let me know the Expression language for this?
Thanks in Advance!
05-06-2019 06:09 AM
Use a mapper, pass existing fields through, and create a new field $halfAge = $Age / 2
05-06-2019 07:45 AM
Sorry for my wrong input structure. the below is the correct one. It is a list of objects rather than 3 single objects
{‘items’:[
{
‘ID’:123,
‘Name’:‘Tony’,
‘Age’:24
},
{
‘ID’:124,
‘Name’:‘Sam’,
‘Age’:36
},
{
‘ID’:125,
‘Name’:‘Glenn’,
‘Age’:58
}]}
and the view in mapper is like below:
Can you please process now?
05-06-2019 09:02 AM
Since you’re manipulating an array, you’ll want to look into the “Mapping Root” feature of the Mapper. By pointing the Mapping Root at your array, the Transformations will be applied to the elements of the array instead of the top-level document. Otherwise, the Mapper configuration is the same as suggested by @christwr:
05-06-2019 08:33 PM
Thanks for your reply @tstack and @christwr,
I have one more array in input like below
‘genderArray’:[‘Male’,‘Female’,‘Male’]
Now, I need to add the corresponding values to the objects of items’ array by creating new ‘Gender’ field.
output should be like below:
{‘items’:[
{
‘ID’:123,
‘Name’:‘Tony’,
‘Age’:24,
‘Gender’:‘Male’
},
{
‘ID’:124,
‘Name’:‘Sam’,
‘Age’:36,
‘Gender’:‘Female’
},
{
‘ID’:125,
‘Name’:‘Glenn’,
‘Age’:58,
‘Gender’:‘Male’
}]}
Can you please let me know the process?