JsonPath:
基础描述符 | 描述 |
$ |
查询的根节点对象,用于表示一个json数据,可以是数组或对象 |
. |
获取子节点 |
@ |
过滤器断言处理的当前节点对象 |
* |
获取所有节点 |
.. |
递归搜索,筛选所有符合条件的节点 |
?() |
过滤器表达式,筛选操作 |
[start:end] |
数组片段,区间为[start,end),不包含end |
[A]或[A,B] |
迭代器下标,表示一个或多个数组下标 |
BODY
"{...}":
"data":{
"city": "杭州",
"code":200,
"msg":"成功!",
"co":null,
"aqi":"66"
"forecast": [{
"position_name": "滨江",
"aqi": 62,
"level": "良",
"primary_pollutant": "null",
"pm25": "43",
"pm10": "73",
"type":"阴"
}, {
"position_name": "西溪",
"aqi": 68,
"level": "优",
"primary_pollutant": "null",
"pm25": "44",
"pm10": "73"
"type":"阴"
},
....
]
}
表示支持JsonPath语法定义判断校验返回值是否符合预期值,示例如下:
表达式 | 含义 | 获取值 |
$.data.forecast[0].position_name |
获取data.forecast[0]对象中position_name值。 |
滨江 |
$.data.forecast[*].aqi |
使用迭代器,获取data中forecast数组中所有aqi的值。 |
[62,68] |
$..forecast[?(@.aqi >= 60)].primary_pollutant |
使用迭代器,获取forecast数组中所有的aqi值大于等于60的primary_pollutant值。 |
['null','null'] |
{$.data.forecast[*].aqi}[0] |
使用迭代器,获取data中forecast数组中aqi的第一个值。 |
62 |
$.data.forecast[?(@.level=="良")].pm25 |
获取data中forecast数组中level等于"良"对象,并获取该对象中pm25的值。 |
[43] |
$.data.forecast[?((@.level=="良")&&(@.aqi==62))].pm10 |
获取data中forecast数组中level等于“良”与等于aqi等于63的所有对象,并获取该对象中pm10的值。 |
[73] |
$.data.forecast[?(@.aqi>65)].position_name |
获取data中forecast数组中aqi大于65的所有对象,并获取该对象中position_name值。 |
["西溪"] |
$.stock_list[?(@.gat_stock_code=="00700")].book_qty