我有以下 json
{
"data": [
{
"id": id1,
"arr": [
{
"arrId": arrId11,
"someOtherKey1": xxx,
"someOtherKey2": xxx,
},
{
"arrId": arrId12,
"someOtherKey1": xxx,
"someOtherKey2": xxx,
}
],
"otherParentLevelKey": yyyyy
},
{
"id": id2,
"arr": [
{
"arrId": arrId21,
"someOtherKey1": xxx,
"someOtherKey2": xxx,
},
{
"arrId": arrId22,
"someOtherKey1": xxx,
"someOtherKey2": xxx,
}
],
"otherParentLevelKey": yyyyy
}
]
}
我想要以下輸出
{
"id": id1,
"arr": [
{
"arrId": arrId11
},
{
"arrId": arrId11
}
]
}
{
"id": id2,
"arr": [
{
"arrId": arrId21
},
{
"arrId": arrId21
}
],
}
我嘗試了以下查詢,但語法不正確
jsonArray | jq '.data[] | {id, arr[].arrId}'
我現在使用的方法如下所示。輸出是我可以管理的,但我想知道 jq 是否有辦法實作我上面想要的。
jsonArray | jq '.data[] | [{(.id): .arr[].arrId}]'
uj5u.com熱心網友回復:
使用 amap保留陣列,同時根據您的需要修改(此處:減少)它:
jq '.data[] | {id, arr: .arr | map({arrId})}'
{
"id": "id1",
"arr": [
{
"arrId": "arrId11"
},
{
"arrId": "arrId12"
}
]
}
{
"id": "id2",
"arr": [
{
"arrId": "arrId21"
},
{
"arrId": "arrId22"
}
]
}
演示
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/477190.html
上一篇:更新和替換未加引號的JSON字串
