stedolan/jq — pull request #298 by nicowilliams (2014-02-17 18:40:16+00:00)
Title: Add `?` and `..` operators

Make XPath-like `//a/b` recursive structure traversal easier in jq,
which then becomes:

..|.a?.b?

The `?` operator suppresses errors about . not being an array or object.
The `..` operator is equivalent to calling the new `recurse_down`
built-in, which in turn is equivalent to

recurse(select(type == "array" or type == "object")|.[])