10-06-2017 07:51 AM
Hi
I appreciate some help in transform the attached input to the attached output.
I have tried using the mapper snap with the following expression
$person.jive.profile[?(value.jive_label == ‘Country’)].value
$person.jive.profile[?(jive_label == ‘Country’)].value
And is getting syntax error.
input.txt (636 Bytes)
output.txt (191 Bytes)
10-06-2017 09:29 AM
The correct way is like this
Country:
jsonPath($, "$person.jive.profile[?(@.jive_label=='Country')].value")[0]
Company:
jsonPath($, "$person.jive.profile[?(@.jive_label=='Company Name')].value")[0]
But, since it will get an array of values, you would want to grap the index 0.
Let me know if this helps!!
10-06-2017 09:31 AM
This works.
jsonPath($, “$person.jive.profile[?(value.jive_label==‘Country’)].value”)[0]
10-06-2017 09:38 AM
So ‘Country’ sometimes does not exist. How do I deal with that use case?
10-06-2017 09:50 AM
I solved the problem with
jsonPath($, “$person.jive.profile[?(value.jive_label==‘Country’)].value”).length > 0 ? jsonPath($, “$person.jive.profile[?(value.jive_label==‘Country’)].value”)[0] : null