取值方式:
1.基本取值:根据key、list可以根据下角标、dict嵌套list可以一层一层的取值
2.切片(同python切片)
3.列表*是通配符
4.字典对象取值(*通配符,key) ops.*.numArgs
5.子查询*通配符(嵌套)
6.数组过滤器的使用,格式[?<表达式><比较器><表达式>]
7.管道|表达式 people[*].first|[0]
8.函数jmespath支持函数表达式,length(people)
9.函数max_by 、min_by max_by(people,&age).name 取出年龄最大的名字
10.marray[?contains(@,'foo')=='true'] maray数组中的当前元素包含字符串foo,则将包含(@,‘foo’的表达式返回true)

import jmespath
#code
res1=jmespath.serch("code",body)
#msg
res2=jmespath.serch("msg",body)
#data
res3=jmespath.serch("data[0].mail",body)
#name data中那么为yoyo的邮箱的值
res4=jmespath.serch(data[?name=='yoyo'].mail|[0],body)
#age>20 `代表数字类型
res5=jmespath.serch(data[?age>`20`],body)
本文介绍了如何使用JMESPath在IT技术中进行高效的数据提取,包括基本取值、切片操作、通配符、函数如length和比较条件,以及高级函数如max_by和min_by的应用实例。

被折叠的 条评论
为什么被折叠?



