JSONPath expression doesn't return expected values from response

Hi,

I'm trying to return some things from response based on my needs but I guess I'm making a mistake somewhere.

I made the configuration on response configuration but it doesn't work as I expected.
I want to return "billingAccountId" from inquireProductDataItemList's items that has productDetailList.familyInfo.familyCategory == "commitment". It will be an array and its name on output contracts is "billingAccountIdList".

I uploaded output schema, response configuration and a response example. My explanation might not be that good, hopefully uploaded files can help you. I don't know where my mistake is.

I'm expecting billingAccountIdList like this:
[
830200001294,
830200001095
]

But it returns like this:
[
830200001294,
830200001299,
830200001095
]

Every other response variables are fine. Problem is this one (even though it seems okay to me);
"billingAccountIdList": "$.inquireProductDataItemList[?(@.productDetailList[?(@.familyInfo.familyCategory == 'commitment')])].billingAccountId"

Any help would be appreciated,

Regards.

response config.json (2.0 KB)
output contract.json (1.1 KB)
full response.json (306.7 KB)

Hi,

After some additional research I changed the filter as this:

"billingAccountIdList": "$.inquireProductDataItemList[?(@.productDetailList[*].familyInfo.familyCategory CONTAINS 'commitment')].billingAccountId"

It works fine right know. This filter might be helpful for people who trouble to retrieve correct values from double nested arrays.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.