如何使用python和jq从多个值中选择json值
我一直在努力处理json的东西。我有“单位编号”和“键”值,我想根据单位编号和键值查找backing_uuid。如何使用python实现这一点?我喜欢这个jq查询,但我以前从未尝试过。我不知道如何在python中调用jq如何使用python和jq从多个值中选择json值,python,arrays,json,python-2.7,jq,Python,Arrays,Json,Python 2.7,Jq,我一直在努力处理json的东西。我有“单位编号”和“键”值,我想根据单位编号和键值查找backing_uuid。如何使用python实现这一点?我喜欢这个jq查询,但我以前从未尝试过。我不知道如何在python中调用jq jq .guest_disk_facts[] | select(any(.attributes[]?; .unit_number=="2" and .key" == "2002")).backing_uuid and output: 9000da43-8471-57a6-8b
jq .guest_disk_facts[] | select(any(.attributes[]?; .unit_number=="2" and .key" == "2002")).backing_uuid and output: 9000da43-8471-57a6-8b18-4425a356b3cb
我有这样的json文件:
{
"changed": false,
"failed": false,
"guest_disk_facts": {
"0": {
"backing_uuid": "9000da43-8471-57a6-8b18-92381ab3c3f6",
"key": 2000,
"unit_number": 0
},
"1": {
"backing_uuid": "9000da43-8471-57a6-8b18-2788c2398ba7",
"key": 2001,
"unit_number": 1
},
"2": {
"backing_uuid": "9000da43-8471-57a6-8b18-4425a356b3cb",
"key": 2002,
"unit_number": 2
}
}
}
由于.unit_number和.key已经是数字,jq查询将是:
.guest_disk_facts[]
| select(.unit_number==2 and .key == 2002).backing_uuid
关于如何将python与jq结合使用,请参见示例Hi peak,谢谢您的回复,但我如何在python中使用jq?这种样式是:“cat file.json | jq查询”吗?
.guest_disk_facts[]
| select(.unit_number==2 and .key == 2002).backing_uuid