可以在JsonPath表达式执行后进行调用,其输入表达式的效果。
函数描述输出min()提供数字数组的最小值Doublemax()提供数字数组的最大值Doubleavg()提供数字数据的均匀值Doublestddev()提供数字数组的标准偏差值Doublelength()提供数组的长度Integersum()提供数字数组的和值Doublekeys()提供属性键(终端自键~的替代选择)Set<E>concat(X)提供路径输出的合并版本,并添加一个新项目like inputappend(X)为 json 路径输出数组添加项目like inputfirst()提供数组的第一个项目Depends on the arraylast()提供数组的末了一项Depends on the arrayindex(X)提供索引数组的项: X,如果 X 为负数,则向后取值Depends on the array 2.3、过滤器
过滤器是用于过滤数组的逻辑表达式,一个通常的表达式形如:[?(@.age > 18)],可以通过逻辑表达式&&或||组合多个过滤器表达式,例如[?(@.price < 10 && @.category == ‘fiction’)],字符串必须用单引号困绕,例如[?(@.color == ‘blue’)]。
操纵符描述==即是符号,但数字1不即是字符1(1 is not equal to ‘1’)!=不即是<小于<=小于即是>大于即是>=大于即是=~判定是否符合正则表达式,例如[?(@.name =~ /foo.*?/i)]in属于,例如[?(@.size in ['S', 'M'])]nin排除符号size左侧(数组或字符串)的大小应与右侧一致empty数组或字符串)应为空subsetof左是右的子集 [?(@.sizes subsetof [‘S’, ‘M’, ‘L’])]anyof左与右有交集 [?(@.sizes anyof [‘M’, ‘L’])]noneof左边与右边没有交集 [?(@.sizes noneof [‘M’, ‘L’])] 2.4、示例
{
"store": {
"book": [
{
"category": "reference",
"author": "Nigel Rees",
"title": "Sayings of the Century",
"price": 8.95
},
{
"category": "fiction",
"author": "Evelyn Waugh",
"title": "Sword of Honour",
"price": 12.99
},
{
"category": "fiction",
"author": "Herman Melville",
"title": "Moby Dick",
"isbn": "0-553-21311-3",
"price": 8.99
},
{
"category": "fiction",
"author": "J. R. R. Tolkien",
"title": "The Lord of the Rings",
"isbn": "0-395-19395-8",
"price": 22.99
}
],
"bicycle": {
"color": "red",
"price": 19.95
}
},
"expensive": 10
}
复制代码
JsonPathResult$.store.book
.author所有册本的作者$..author所有作者$..book[2]第3本数$..book[0,1]前2本数$..book[1:3]切片操纵,从索引 1(含)到索引 3(不含)的所有册本$..book[-1:]倒数第一本数$..book[?(@.isbn)]所有有 ISBN 编号的册本$.store.book[?(@.price < 10)]代价低于10的所有数据$..book.length册本的数目 3、基于Java的使用