我正在尝试使用 jmespath 来查询我的 json,并且我正在尝试访问更高级别的属性。
下面是我的JSON:
{
"properties": {
"DefaultVMTypeID": "RT",
"VM": {
"measurements": [
{
"vm": 45.62,
"vmString": "45.62",
"vmID": "RT",
"vmPathID": "osdu",
"vmTypeID": "RT",
"vmUnitOfMeasureID": "m"
},
{
"vm": 65,
"vmString": "65",
"vmID": "MT",
"vmPathID": "sample",
"vmTypeID": "MT",
"vmUnitOfMeasureID": "m"
},
{
"vm": 32,
"vmString": "32",
"vmID": "MT",
"vmPathID": "osduschemas",
"vmTypeID": "MT",
"vmUnitOfMeasureID": "m"
},
{
"vm": 95,
"vmString": "95",
"vmID": "MT",
"vmPathID": "schema",
"vmTypeID": "MT"
}
]
}
}
}
我想获得vmId等于DefaultVMTypeID的所有测量值。
我尝试了以下查询: [properties.DefaultVerticalmeasurementTypeID, properties.Verticalmeasurements.measurements[?VerticalmeasurementTypeID]] | map(&[1].VerticalmeasurementTypeID==@[0], @)
但是当将map应用于数组时,@ 指的是数组的元素,而在 map 内部,我无法访问DefaultVMTypeID。
我也尝试过转换对象的每个元素。
任何线索将不胜感激。