โ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