Skip to content

JMESPATH (comparing aggregated nested data) #127

@jskler

Description

@jskler

Hello!

I was wondering if someone can help me find a solution to compare some nested data.

I have this dataset below, and I need to return true, for case when type is 'X', get shareholder[]firstName+shareholder[]lastName and compare with logistic_name, if they are the same, to give back true. I have been trying to use join, but the return is NULL.

My code is

[(shareholders != null) &&
( length(shareholders[?type == 'shareholderperson' && join(' ', [firstName, lastName]) == transaction.receiverName]) > 0)

]

{
"id": 6731037,
"customerId": 665,
"shareholders": [ -- nested JSON --
{
"id": "1",
"type": "X,
"lastName": "one",
"firstName": "james",
},
{
"id": "2",
"type": "Z,
"lastName": "two",
"firstName": "james",
},
{
"id": "3",
"type": "Y,
"lastName": "three",
"firstName": "james",
}
],
"logistic_name": "james one", -- not nested--
}
}

Expected result will be TRUE, because there is shareholder type X where the firstName+lastName == logistic_name. ID 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions