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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions