Python的xpath类包,用于在列表和dict中查找所有级别的键

2024-10-02 18:16:14 发布

您现在位置:Python中文网/ 问答频道 /正文

给定一个数据结构,它在结构中的任意位置具有键TEXT,如下例所示:

{'info': [
    {'TEXT': 'SUBINLIST'},
          {'duda': {
              'TEXT': 'SUBSUB',
              'walter': 'jaja'}}
          {'hey': [
              {'jess': 'morning'},
              {'TEXT': 'DEEPEST'}
          ]}  
    ],
 'TEXT': 'TOPLEVEL'}

我想找到TEXT键的值。对于Python是否有类似XPath的包,我可以在其中定义适当的路径表达式,以便在示例中获得以下返回结果:

^{pr2}$

注意:我不想通过递归Python函数找到键,而是通过调用包/库/模块(很明显,它在内部也会这样做)。在

我尝试了^{},但无法找到一个表达式来查找任意嵌套的dicts列表中的值。在


Tags: textinfo数据结构表达式结构heytoplevelmorning
1条回答
网友
1楼 · 发布于 2024-10-02 18:16:14

您可以按如下方式尝试^{}

import jsonpath

my_dict = {'info': [{'TEXT': 'SUBINLIST'},{'duda': {'TEXT': 'SUBSUB','walter': 'jaja'}}, {'hey': [{'jess': 'morning'}, {'TEXT': DEEPEST'}]}], 'TEXT': 'TOPLEVEL'}
print(jsonpath.jsonpath(my_dict, "$..TEXT"))

输出:

^{pr2}$

相关问题 更多 >