how to get all matching fields, the path is uncertain
Example:
{
"k1": {
"text": "m1",
"v": 1
},
"k2": {
"child": {
"text": "n2",
"v": 1
}
},
"k3": {
"v": 1
}
}
example in jsonPath: express: $..text output: ["m1","n2"]
@litao09h, were you ever able to figure this out? I'm looking to do the same thing
@litao09h @liveFreeOrCode As far as I know it's not possible to do it for the generic case of arbitrary depths. But if you know in advance the possible depths where the field is present though then it becomes doable with a bit of a verbose query. For example for the specific case above with depth 1 and 2 a query of the form:
[@values.#.text,@values.#.@values.#.text].@flatten:{"deep":true}
gives you:
["m1","n2"]
The [] around is a multipaths to create a new object, and the @flatten is needed to remove all the empty lists for the part of the query for depth two.