Amani Ben Azzouz
Amani Ben Azzouz

Reputation: 2565

Select main parent property name of a property name using jq

I have the following JSON file:

{
    "foo": {
        "name": "Name 1",
        "color": "green",
        "something_else": {
            "name" : "Name 2"
        }
    },
    "bar": {
        "name": "Name 3",
        "color": "red"
    }
}

How to get the proprety name foo from "Name 2" using jq ? I tried

.[] |select(."name"=="Name 2")

And how to get a list [foo,bar] (all main parents) from the property name name ?

Upvotes: 1

Views: 192

Answers (1)

hek2mgl
hek2mgl

Reputation: 157947

Like this:

jq 'path(recurse|select(.name?=="Name 2"))[0]' file.json

Upvotes: 1

Related Questions