03-30-2022 03:22 AM
Hello, i have a pipeline that is extracting values from an array using JSON path. This is how it works…
Extract the status and effective data from the array where the “activity” = x
I use this expression…
jsonPath($, “$regulatedActivities[?(@.Activity==‘Credit Broking (W.E.F 01/04/2014)’)].Status”)[0]
All works fine. The problem is, in some cases some items in the array do not contain “Activity” at all. There are subsequent items in the array containing this element, but the expression doesn’t work in this example, it just returns NULL…
Solved! Go to Solution.
03-30-2022 03:40 AM
You can switch to more detailed and easier to control expression. Something like:
jsonPath($, "$regulatedActivities[*]").filter(x=>x.Activity == 'Credit Broking (W.E.F 01/04/2014)')
The result from this will be an array filtered by Activity. If you want only the first object ( [0] ) and you want to take the Status from it, than use the following expression:
jsonPath($, "$regulatedActivities[*]").filter(x=>x.Activity == 'Credit Broking (W.E.F 01/04/2014)')[0].Status
Let me know if this helps,
Bojan
03-30-2022 03:40 AM
You can switch to more detailed and easier to control expression. Something like:
jsonPath($, "$regulatedActivities[*]").filter(x=>x.Activity == 'Credit Broking (W.E.F 01/04/2014)')
The result from this will be an array filtered by Activity. If you want only the first object ( [0] ) and you want to take the Status from it, than use the following expression:
jsonPath($, "$regulatedActivities[*]").filter(x=>x.Activity == 'Credit Broking (W.E.F 01/04/2014)')[0].Status
Let me know if this helps,
Bojan
03-30-2022 06:45 AM
Amazing. Thank you