python 下 json 数据提取神器 jsonpath 详解

本贴最后更新于 985 天前,其中的信息可能已经时移俗易

一、什么是jsonpath

二、特点

三、安装

pip install jsonpath

四、常用原字符

原字符 描述
$ 表示根元素
@ 当前元素
. or [] 子元素
.. 递归搜索(不管当前路径,搜索符合条件的数据)
* 通配符,表示所有的元素
[] 子元素操作符
[,] 支持迭代器中做多选,多个key用逗号隔开
[start:end:step] 数组分割操作,等同于切片
?() 应用过滤表示式

五、常用元字符使用

class_info = {"class_one": {
    "students": [
        {"name": "张一",
         "sex": "男",
         "age": 18,
         "height": 170.5
         },
        {"name": "张二",
         "sex": "女",
         "age": 20,
         "height": 160.5
         },
        {"name": "张三",
         "sex": "男",
         "age": 18,
         "height": 170.5
         },
    ],
    "teacher": {
        "name": "李小二",
        "sex": "男",
        "age": 30,
        "height": 185.5,
        "teacher":"递归搜索测试"
    }
}
}

六、过滤表达式

原字符 描述
== 等于符号,但数字1不等于字符1
!= 不等于符号
< 小于符号
<= 小于等于符号
> 大于
>= 大于等于符号
=~ 判断是否符合正则表达式,例如[?(@.name =~ /foo.*?/i)]
in 所属符号:[?(@.name in['张二','张三'])]
not in 排除符号:[?(@.name not in ['张二','张三'])]
&& 逻辑AND,用于合并多个过滤器表达式
II 逻辑OR,用于组合多个过滤器表达式

七、过滤表达式使用

2 操作
haili 在 2021-08-12 17:31:26 更新了该帖
haili 在 2021-08-12 17:24:50 更新了该帖
1 回帖
请输入回帖内容 ...