假设我有以下数据:
{
"dashboards": [
{
"name": "first",
"type": "standard"
},
{
"name": "second",
"type": "custom"
}
]
}
(实际上,数据比这更多,我只是在显示数据的结构是什么(
我要做的是获得standard
类型的前10个仪表板。
我知道我可以得到 standard
仪表板: jq '.dashboards[] | select(.type == "standard")'
,但我不知道如何切成结果的数组...
如果您希望结果作为数组,则可以使用map
:
.dashboards | map(select(.type=="standard")) | .[0:10]
但是,这效率低下。为了效率,最好使用limit
如下所述。
如果您希望这些项目作为流,则可以写:
limit(10; .dashboards[] | select(.type=="standard"))
如果您希望结果作为数组,只需将上述JQ表达式包装在方括号中。