gpt4 book ai didi

Python jsonpath 过滤表达式

转载 作者:行者123 更新时间:2023-11-28 23:00:14 42 4
gpt4 key购买 nike

背景:

我在 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 似乎更为突出)。有人可以提供一些指导吗?

最佳答案

以下表达式可以满足您的需要(注意属性是如何指定的):

jsonpath.jsonpath(impi_node, "$.sensor[?(@.sensor_type=='Temperature')]")

关于Python jsonpath 过滤表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12343282/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com