类似于XPath在xml文档中的定位,JsonPath表达式通常是用来路径检索或设置Json的。其表达式可以接受’dot–notation’和’bracket–notation’格式,例如[‘store’][‘book’][0][‘title’] JsonPath是一种简单的方法来提取给定JSON文档的部分内容。
JsonPath有许多编程语言,如Javascript,Python和PHP,Java。
JsonPath提供的json解析非常强大,它提供了类似正则表达式的语法,基本上可以满足所有你想要获得的json内容。
github上有它的应用:https://github.com/json-path/JsonPath
JSONPath在线解析器:http://www.atoolbox.net/Tool.php?Id=792
名称 |
描述 |
输出数据类型 |
---|---|---|
min() |
获取数值类型数组的最小值 |
Double |
max() |
获取数值类型数组的最大值 |
Double |
avg() |
获取数值类型数组的平均值 |
Double |
stddev() |
获取数值类型数组的标准差 |
Double |
length |
获取数值类型数组的长度 |
Int |
过滤器是用于过滤数组的逻辑表达式,一个通常的表达式形如:[?(@.age > 18)],可以通过逻辑表达式&&或||组合多个过滤器表达式,例如[?(@.price < 10 && @.category == ‘fiction’)]。
字符串必须用单引号或双引号包围,例如[?(@.color == ‘blue’)] or [?(@.color == ‘blue’)]。
操作符 |
描述 |
---|---|
== |
等于,但数字1不等于字符’1’ |
!= |
不等于 |
< |
小于 |
<= |
小于等于 |
> |
大于 |
>= |
大于等于 |
=~ |
判断是否符合正则表达式,例如[?(@.name =~ /foo.*?/i)] |
in |
属于符号,例如[?(@.size in [‘S’, ‘M’])] |
nin |
排除符号(not in) |
size |
长度比较符号,判断字符串或数组的长度是否一样 |
empty |
空值符号 |
{
"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
}
回到顶部
咨询热线