這是另一種方法。如果你是新來JQ它可能是最容易實現的小步驟的目標而努力。
1)與所述身份濾波器
.
其產生如預期啓動
[
"smoke-tests",
"push-apps-manager"
]
2)下用"errands"
密鑰添加外部對象:
{ "errands": . }
產生
{
"errands": [
"smoke-tests",
"push-apps-manager"
]
}
3)下一個將數據移動到一個數組
{ "errands": [ . ] }
產生
{
"errands": [
[
"smoke-tests",
"push-apps-manager"
]
]
}
4)與"name"
和"post_deploy"
密鑰添加內部對象
{ "errands": [ { "name": ., "post_deploy": true } ] }
其產生
{
"errands": [
{
"name": [
"smoke-tests",
"push-apps-manager"
],
"post_deploy": true
}
]
}
5)現在我們非常接近。所有我們需要做的就是好好把握JQ的Object Construction behavior when an expression produces multiple results:
{ "errands": [ { "name": .[], "post_deploy": true } ] }
這給了我們預期的結果
{
"errands": [
{
"name": "smoke-tests",
"post_deploy": true
},
{
"name": "push-apps-manager",
"post_deploy": true
}
]
}
100%真棒!現在,使用哪種方法?說實話,我喜歡地圖方法,我會去那。 – AG6HQ
可能是'map';說實話,仔細看看手冊頁,我不知不覺地用我的第一個解決方案重新實現了'map'。 ('map'被定義爲* [。[] | x]'。) – chepner