動態的項目我有JSON是這樣的:JQ選擇JSON
{
"photo_807": "Ih2RnaBTg2o.jpg",
"photo_604": "zodCm9fQgX8.jpg",
"photo_130": "4Dx-SUNKBw4.jpg",
"photo_75": "7COWb8ou1qA.jpg",
"user_id": 100,
"owner_id": -2435432542783750,
"access_key": "fc5275423676514042234324265cc3df7607c",
"post_id": 380435645368865101,
"date": 14858616848616779856424245814,
"text": "",
"height": 417,
"width": 740,
"id": 45624575446886886564368555,
"album_id": -36
}
我想只有照片值,從輸出我想要得到這樣的:
"photo_807": "Ih2RnaBTg2o.jpg"
"photo_604": "zodCm9fQgX8.jpg"
"photo_130": "4Dx-SUNKBw4.jpg"
現在關於我的問題,從下一個JSON文件我會得到像這樣的新名稱的照片項目:
"photo_181": "Ih2RnaBTg2o.jpg",
"photo_583": "zodCm9fQgX8.jpg",
"photo_975": "4Dx-SUNKBw4.jpg",
"photo_32": "7COWb8ou1qA.jpg",
我如何能從動態項目獲取此值photo_ *?
我嘗試這樣:
cat ./json3.txt | jq '.response.items[].attachments[].photo | select(.photo | startswith("photo"))'
但它不工作。
當我運行:
cat ./json3.txt | jq '.response.items[].attachments[].photo'
我得到這個輸出,所有項目:
{
"photo_807": "Ih2RnaBTg2o.jpg",
"photo_604": "zodCm9fQgX8.jpg",
"photo_130": "4Dx-SUNKBw4.jpg",
"photo_75": "7COWb8ou1qA.jpg",
"user_id": 100,
"owner_id": -2435432542783750,
"access_key": "fc5275423676514042234324265cc3df7607c",
"post_id": 380435645368865101,
"date": 14858616848616779856424245814,
"text": "",
"height": 417,
"width": 740,
"id": 45624575446886886564368555,
"album_id": -36
}
有人能幫助我嗎?
在此先感謝!
現在我用grep和可怕的sed組合來做它:cat ./json3.txt | jq'.response.items []。attachments []。photo'| grep「photo_」| sed's /「//'| sed's /」://'| sed's /「,//'| sed's /」//'也許有人知道如何用jq做到這一點? – Darkwind
從根提供完整的'JSON' – Inian