一 JsonPath 介绍
JsonPath是一种简单的方法来提取给定JSON文档的部分内容。JSonPath有许多编程语言,如Javascript,Python和PHP,Java等;
JsonPath提供的json解析非常强大,它提供了类似正则表达式的语法
二 JsonPath 语法
JsonPath 是参照 Xpath表达式来解析XML文档的方式,JSON数据结构通常是匿名的并且不一定需要有根元素。
JsonPath 用一个抽象的名字$来表示最外层对象,即$代表整个JSON数据的值。
1 语法
语法:jsonpath.jsonpath()
参数:json对象,jsonpath表达式
返回:列表
2 操作符
操作符 | 描述 |
---|---|
$ | 要查询的根元素,这将启动所有路径表达式 |
@ | 过滤谓词正在处理的当前节点 |
* | 通配符。可在任何需要名称或数字的地方使用 |
.. | 深层扫描。可在任何需要名称的地方使用 |
.<name> | 点符号表示的子节点 |
['<name>' (, '<name>')] | 括号表示的子节点 |
[<number> (, <number>)] | 数组索引或索引 |
[ start : end ] | 数组切片运算 |
[?(<expression>)] | 过滤表达式(表达式必须计算为bool值) |
3 函数
函数可以在路径的尾端调用——函数的输入是路径表达式的输出。函数输出由函数本身决定。Python的jsonpath库不支持???
函数 | 描述 | 输出类型 |
---|---|---|
min() | 获取数字数组的最小值 | 浮点型 |
max() | 获取数字数组的最大值 | 浮点型 |
avg() | 获取数字数组的平均值 | 浮点型 |
stddev() | 获取数字数组的标准偏差 | 浮点型 |
length() | 获取数字的长度 | 整型 |
sum() | 获取数字数组的元素总和 | 浮点型 |