2
我在JSON下面的示例數據結構:
{'sensor' : [
{'assertions_enabled': 'ucr+',
'deassertions_enabled': 'ucr+',
'entity_id': '7.0',
'lower_critical': 'na',
'lower_non_critical': 'na',
'lower_non_recoverable': 'na',
'reading_type': 'analog',
'sensor_id': 'SR5680 TEMP (0x5d)',
'sensor_reading': {'confidence_interval': '0.500',
'units': 'degrees C',
'value': '42'},
'sensor_type': 'Temperature',
'status': 'ok',
'upper_critical': '59.000',
'upper_non_critical': 'na',
'upper_non_recoverable': 'na'}
]}
的傳感器列表實際上將包含許多含有傳感器信息這些類型的字典。
問題:
我試圖用jsonpath返回我有sensor_type=='Temperature'
傳感器類型的字典的一個子集來查詢列表,但我得到'False'
返回(不匹配)。這裏是我的jsonpath表達:
results = jsonpath.jsonpath(ipmi_node, "$.sensor[?(@.['sensor_type']=='Temperature')]")
當我刪除篩選表達式,只是用"$.sensor.*"
我得到的所有傳感器的列表,所以我相信這個問題是在過濾器表達式。
我已經掃描了多個網站/文章的例子,我似乎無法找到任何具體的Python(Javascript和PHP似乎更突出)。任何人都可以提供一些指導嗎?
其實,結束了我的工作是消除了「」在@。['sensor_type']中。顯然它只是@ ['sensor_type']。 –
這兩種形式可能是有效的。 –
你在哪裏找到了「jsonpath」,這裏沒有鏈接似乎是 https://pypi.python.org/simple/jsonpath/? – avloss