首页 >> 大全

Python 学习

2023-07-24 大全 20 作者:考证青年

​ :

在线解析:

1、 操作

是用来提取指定 JSON 文档的部分内容。 许多编程语言都提供的了对 json 的解析。

对于 JSON 来说,相当于 XPath 对于 XML

中的 “根成员对象” 总是被引用为$,不管它是对象还是数组

可以使用 点 表示法:$.store.book[0].title

或者 括号 表示法:$['store']['book'][0]['title']

安装:pip

-rw: 健壮且显著扩展的实现,带有一个明确的AST用于元编程。

-rw 介绍:

-rw 安装:pip -rw

操作符

操作符 和 描述

操作符描述

查询根元素。这将开始所有路径表达式

使用过滤谓词来处理当前节点。即过滤当前节点。

通配符。 任何可以使用名称和数字的地方都可以使用。

..

深层扫描。 任何可以使用名称的地方都可以使用

点,表示子节点。

['' (, '')]

括号 表示子项。

[ (, )]

数组索引 或 索引

[start:end]

数组切片操作。

[?()]

过滤表达式。 表达式的结果必须是一个 bool 值。

函数

函数可以在路径的末尾调用——函数的输入是路径表达式的输出。函数输出由函数本身决定。

函数描述输出

min()

提供数字数组的最小值

max()

提供数字数组的最大值

avg()

提供数字数组的平均值

()

提供数字数组的标准偏差值

()

提供数组的长度

sum()

提供数字数组的所有元素的和

过滤器运算符

过滤器 是 用于筛选数组的逻辑表达式。一个典型的过滤器应该是 [?(@.age > 18)],其中 @ 表示当前正在处理的项。可以使用逻辑运算符 && 和 || 创建更复杂的过滤器。字符串文字 必须用 单引号 或 双引号 括起来 ([?(@.color == 'blue')] or [?(@.color == "blue")])。

操作符描述

==

左边得值 等于 右边的值 ( 注意:数字 1 不等于 字符串 '1' )

!=

不等于

小于

大于

>=

大于等于

=~

匹配正则表达式 [?(@.name =~ /foo.*?/i)]

in

左边 in 右边 [?(@.size in ['S', 'M'])]

nin

左边 not in 右边

左边是右边的一个子字符串 [?(@.sizes ['S', 'M', 'L'])]

anyof

左边和右边相交 [?(@.sizes anyof ['M', 'L'])]

左边和右边不相交 [?(@.sizes ['M', 'L'])]

size

(数组或字符串)长度

empty

(数组或字符串)为空

示例

示例 Json:

{"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
}

表达式示例:

( 点击链接测试 )结果

$.store.book[*].

获取 Json 中 store下book下的所有值

$..

获取 Json 中 所有 的值。

$.store.*

获取 store 下所有东西( book 和 )

$.store..price

获取 store下以及所有子节点下的所有 price

$..book[2]

获取 book数组的第3个值

$..book[-2]

获取 book数组的倒数第二个值

$..book[0,1]

获取 book数组的第一、第二的值

$..book[:2]

获取 book数组从索引 0 (包括) 到 索引 2 (不包括) 的所有值

$..book[1:2]

获取 book数组从索引 1 (包括) 到 索引 2 (不包括) 的所有值

$..book[-2:]

获取 book数组从索引 -2 (包括) 到 结尾 的所有值

$..book[2:]

获取 book数组从索引 2 (包括) 到 结尾 的所有值

$..book[?(@.isbn)]

获取 所有节点以及子节点中 book 数组包含 isbn 的所有值

$.store.book[?(@.price < 10)]

获取 store下 book 数组中 price < 10 的所有值

$..book[?(@.price

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了