Я немного смущен. Я уже пробовал jmespath, но не помогло. Мне нужно получить объект высокого уровня, который содержит указанный объект. В приведенном ниже примере мы видим некоторый факт о жестких дисках. Мне нужно получить имя диска (sdf
, sdg
или dm-0
) жесткого диска, который содержит указанный раздел, например. sdf1
.
У меня есть этот запрос jmespath:
msg.*.[partitions.sdf1]
но он просто показывает мне все внутри sdf1
. Фильтры типа [?partitions=="sdf1"]
здесь не работают, поэтому вопрос: как сохранить весь объект sdf
в моем примере?
заранее спасибо!
{
"msg": {
"sdf": {
"partitions": {
"sdf1": {
"holders": [],
"links": {
"ids": [
"17101686F123-part1",
"wwn-0x123456-part1"
]
},
"sectors": "1875380224"
}
},
"removable": "0",
"rotational": "0"
},
"sdg": {
"partitions": {
"sdg1": {
"holders": [],
"links": {
"ids": [
"164414123CEB-part1",
"wwn-0x1233451234831ceb-part1"
]
},
"uuid": "F301-FA7F"
}
},
"removable": "0"
},
"dm-0": {
"holders": [],
"host": "",
"links": {
"ids": [],
"uuids": []
},
"vendor": null,
"virtual": 1
}
}
}