Jsonpath语法

Jsonpath语法JsonPath用法示例操作符符号描述$查询的根节点对象,用于表示一个json数据,可以是数组或对象@过滤器(filterpredicate)处理的当前节点对象*获取所有节点.获取子节点…递归搜索,筛选所有符合条件的节点?()过滤器表达式,筛选操作[start:end]数组片段,区间为[start,end),不包含en…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

JsonPath用法示例

  • 操作符
符号 描述
$ 查询的根节点对象,用于表示一个json数据,可以是数组或对象
@ 过滤器(filter predicate)处理的当前节点对象
* 获取所有节点
. 获取子节点
递归搜索,筛选所有符合条件的节点
?() 过滤器表达式,筛选操作
[start:end] 数组片段,区间为[start,end),不包含end
[A]或[A,B] 迭代器下标,表示一个或多个数组下标
  • 函数

可以在JsonPath表达式执行后进行调用,其输入值为表达式的结果。

    名称                   描述
min() 获取数值类型数组的最小值
max() 获取数值类型数组的最大值
length() 获取数值类型数组的长度,例如$.data.length()
  • 过滤器

过滤器是用于过滤数组的逻辑表达式。

  操作符             描述
== 等于
!= 不等于
< 小于
in 所属符号,例如[?(@.type in [“小雨”,“中到大雨”])]
nin 排除符号
=~ 判断是否符合正则表达式,例如[?(@.type =~ /^小雨.*/)]
响应体:
BODY
{
   "code" : 200,
   "msg" : "成功!",
   "data" : {
      "yesterday" : {
         "date" : "13日星期一",
         "high" : "高温 23℃",
         "fx" : "东北风",
         "low" : "低温 18℃",
         "fl" : "<![CDATA[3-4级]]>",
         "type" : "小雨"
      },
      "city" : "杭州",
      "aqi" : null,
      "forecast" : [
         {
            "date" : "14日星期二",
            "high" : "24",
            "fengli" : "<![CDATA[3-4级]]>",
            "low" : "18",
            "fengxiang" : "东北风",
            "type" : "多云"
         },
         {
            "date" : "15日星期三",
            "high" : "22",
            "fengli" : "<![CDATA[3-4级]]>",
            "low" : "19",
            "fengxiang" : "东北风",
            "type" : "中到大雨"
         },
         {
            "date" : "16日星期四",
            "high" : "25",
            "fengli" : "<![CDATA[<3级]]>",
            "low" : "19",
            "fengxiang" : "东北风",
            "type" : "多云"
         },
         {
            "date" : "17日星期五",
            "high" : "30",
            "fengli" : "<![CDATA[<3级]]>",
            "low" : "22",
            "fengxiang" : "无持续风向",
            "type" : "小雨"
         },
         {
            "date" : "18日星期六",
            "high" : "33",
            "fengli" : "<![CDATA[<3级]]>",
            "low" : "19,
            "fengxiang" : "无持续风向",
            "type" : "多云"
         }
      ],
      "ganmao" : "各项气象条件适宜,无明显降温过程,发生感冒机率较低。",
      "wendu" : "21"
   }
}

Jetbrains全家桶1年46,售后保障稳定

用法示例:
  • 表达式:$…*

表示获取是所有的返回值。

  • 表达式:$.data.forecast[*].type 或 $.data…type

表示获取的是data下forecast数组中所有的type字段值。获取值为:[“多云”,“中到大雨”,“多云”,“小雨”,“多云”]

  • 表达式:$.data.forecast.length()

表示获取的是data下forecast数组长度。获取值为:5

  • 表达式:$.data.forecast[?(@.type == “小雨”)].date

表示获取的是data下forecast数组中天气类型为“小雨”的日期。获取值为:[“17日星期五”]

  • 表达式:$.data.forecast[?(@.type =~ /^小雨.*/)].date

表示以正则表达式过滤获取的是data下forecast数组中有“小雨”的日期。获取值为:[“15日星期三”]

  • 表达式:$.data.forecast[?((@.high <= “30”)&&(@.high >= “15”))].date

表示获取的是data下forecast数组中高温温度在25℃~30℃之间的日期。获取值为:[“16日星期四”,“17日星期五”]

  • 表达式:$.data.forecast[?((@.type == “小雨”)||(@.type == “中到大雨”))].date 或 $.data.forecast[?(@.type in [“小雨”,“中到大雨”])].date

表示获取的是data下forecast数组中天气类型为“小雨”或“中到大雨”的日期。获取值为:[“15日星期三”,“17日星期五”]

可以使用小工具验证你的表达式哦~ http://jsonpath.herokuapp.com/?path=$.store.book[

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/210457.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • IIS真正能用的ISAPI-Rewrite防盗链规则写法

    IIS真正能用的ISAPI-Rewrite防盗链规则写法本规则支持白名单排除式防盗链,搜索引擎友好不屏蔽,被盗链后的错误提示转向,支持各种文件类型,经作者亲验真的能用,第一时间在原创发表,请继续往下阅读。近来小站遇到了盗链问题,至使网站的流量枉费流失,于是被迫准备为服务器安装防盗链机制以挽救本就不宽裕的带宽。通过G.CN和B.CN搜索后得出了几种不同的方案,例如网站程序的URL伪装法、服务器端的收费插件法和ISAPI-R…

  • MySQL Community Server_应用安装失败怎么解决

    MySQL Community Server_应用安装失败怎么解决官网下载先去官网下载MySQL链接跳转的是mysql的下载地址:https://dev.mysql.com/downloads/mysql/目前最新版的就是8.0.21解压好,是下图的样式初始化配置由于下载好且解压的文件夹没有my.ini文件,所以我这边新建一个,配置我已经给出,大家直接复制根据自己的实际修改即可。好了,准备工作已经完成,现在开始我们正式的初始化吧。直接在地址栏输入cmd,进入命令行界面进行安装操作。可能有些小伙伴会遇上没有权限的情况,就只好以管理员运行了我

  • java volatile原理

    java volatile原理一、基本概念先补充一下概念:Java内存模型中的可见性、原子性和有序性。可见性:  可见性是一种复杂的属性,因为可见性中的错误总是会违背我们的直觉。通常,我们无法确保执行读操作的线程能适时地看到其他线程写入的值,有时甚至是根本不可能的事情。为了确保多个线程之间对内存写入操作的可见性,必须使用同步机制。  可见性,是指线程之间的可见性,一个线程修改的状态对另一个线程是可见的。也就是…

  • 白话零拷贝「建议收藏」

    白话零拷贝「建议收藏」sendfile()这个系统调用是在两个文件描述符之间直接传递数据(这个操作是完全在内核态进行),从而避免了数据在内核缓冲区和用户缓冲区之间的拷贝,称之为零拷贝,操作效率很高—————————下面我们一步一步来了解什么是零拷贝———————–我们知道I/O操作分为缓存I/O和直接I/O缓存I/O缓存I/O,即标准I/O…

  • 一般人到底要不要学Python_Python值得学吗

    一般人到底要不要学Python_Python值得学吗前言本人纯屌丝一枚,在学python之前对电脑的认知也就只限于上个网,玩个办公软件。这里不能跑题,我为啥说自学python,一般人我还是劝你算了吧。因为我就是那个一般人。基础真的很简单,是个人稍微认点真都能懂,这就是好多人说的python简单、易懂、好学,然后就是一顿浮夸的言论,误导那些小白,再然后那些小白也就跟着浮夸。这里我就给那些轻浮的人泼一桶冷水,懂跟学会是一码事吗?先来说哈python这个就业哈,我现在生活在祖国的肚皮上–成都,(嗯,有想了解川西迷你小环线的在下面留言哦),下面亲身经历,我喃,

  • 阿里异构离线数据同步工具/平台DataX「建议收藏」

    阿里异构离线数据同步工具/平台DataX「建议收藏」​DataX是阿里云DataWorks数据集成的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX实现了包括MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS等各种异构数据源之间高效的数据同步功能。

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号