鉴于以下 JSON 我想得到id
通过子元素的 equals 文本比较父元素的字段:
{
"datapoints": [{
"id": "default.1",
"definedBy": "default/0.1",
"featureValues": {
"bui.displayname": "Health status",
"bui.visibility": "normal",
"default.access": "r",
"default.basetype": "text",
"default.description": "Aggregated health status",
"default.format": "text/plain",
"default.name": "health_status",
"default.restriction": "re:(OK|WARN|ERROR|UNKNOWN)"
}
}, {
"id": "kdl.240",
"definedBy": "kdl/0.9",
"featureValues": {
"bui.displayname": "Delta K",
"bui.visibility": "normal",
"default.access": "rw",
"default.basetype": "real",
"default.description": "Delta K",
"default.name": "Delta_K",
"default.privacy": "false",
"default.restriction": "b32"
}
}
]
}
我的第一个目标是通过子子文本比较来获取正确的数据点,例如:
$['datapoints'][*]['featureValues'][?(@['default.name']=='Delta_K')]
当我测试它时似乎不起作用http://jsonpath.com/为了获得所有数据点,我成功地使用了这个:
$['datapoints'][*]['featureValues']['default.name']
我的目标是获得id
数据点的值featureValues
子元素default.name
是平等的Delta_K
。在这个例子中,这将是kdl.240
.