extra parent attribute when filtering on child node attribute

41 views
Skip to first unread message

lcs...@gmail.com

unread,
Oct 16, 2018, 7:04:22 PM10/16/18
to ObjectPath
I have a json data structure that looks like this:

{    "version": "14",
   
"data": {
"applications": [
{

"id": 1,
                "enabled": true,
               
"policy": [
               
]
           
},            
{
                "id": 2,
               
"enabled": true,
               
"policy": [
                   
{
                       
"type": "Rule",
                       
"id": 5
                   
}
               
]
           
}
]

}



I am trying to return the ID of the application when policy id = 5 (or some other int value).

I thought that: $.data.applications[@.policy.*.id is 5].id would work, but i get an empty set []
I also tried: $.data.applications[@.policy..id is 5].id

using "jq" i can do the following:

#cat jsonData.json  | jq ‘.data.applications[] | select(.policy[].id == 5) | .id’

13
14
15
16
17
18
19
21
22
23
24
39

Is this query functionality not possible using objectPath?
Reply all
Reply to author
Forward
0 new messages