[{
"name": "asd"
"children": [
{
"name": "sfgdfg"
}]
}]'
我可以得到所有父母或孩子的姓名
jq '.[] | (.name)'
jq '.[] | (.children[].name)'
如何使用包含OR的单个衬垫获得两者?
答案 0 :(得分:0)
一种可能性是使用..
:
.. | objects | select( has("name") ) | .name
或者只是:
.. | .name? // empty
答案 1 :(得分:0)
合并这两个查询的一种方法是使用 .[] | (.name, .children[]?.name)
:
/(.)\1+/u
答案 2 :(得分:0)
我认为最简单的形式是:
.. | .name?
这是什么意思?
..是一个递归的体面,产生每一个价值。
.. | .NAME?
查找以名称开头的键中的所有值。
您可以在 here in the manual
中找到更多信息