Python-JsonPath的使用

简介

JsonPath就像Xpath解析XML一样去解析JSON, 通过JSON路径的方式去解析, 据小编了解到JsonPath的性能不是很强, 如果用在频繁操作的地方需要谨慎

安装

pip install jsonpath

使用

import jsonpath

a = {
    "store": {
        "book": [
            {
                "title": "资治通鉴"
            },
            {
                "title": "史记"
            },
        ]
    }
}
print(jsonpath.jsonpath(a, "$.store.book[0].title"))  # ['资治通鉴']
print(jsonpath.jsonpath(a, "$['store']['book'][0]['title']"))  # ['资治通鉴']
print(jsonpath.jsonpath(a, "$.store.book[(@.length-1)].title"))  # ['史记']

标记介绍. XPath, JSONPath比较

XPathJSONPath描述
/$根对象,元素
.@当前对象元素
/. or []子运算符
不适用父运算符
**通配符
@不适用属性访问
[][]下标运算
|[,]联合运算
不适用[start🔚sep]像是ES4一样来切片运算符
[]?()应用过滤表达式
不适用()脚本表达式,使用底层脚本引擎
()不适用Xpath中的分组

XPath 提供的内容比此处列出的要多得多(非缩写语法中的位置路径、运算符和函数)。此外,下标运算符在 Xpath 和 JSONPath 中的工作方式存在显着差异

  • XPath表达式中的方括号始终作用于由前一个路径片段产生的节点集。索引总是从 1 开始。
  • 使用JSONPath方括号对前一个路径片段寻址的对象或数组进行操作。索引总是从 0 开始。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值