python-jsonpath

本文介绍了如何使用Python库`jsonpath`来解析和操作JSON数据。通过示例展示了如何获取JSON对象的属性、数组元素以及利用过滤表达式筛选特定元素。例如,提取所有书籍的作者、获取book数组的第二个元素、找出包含isbn的book及价格小于10的元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python-jsonpath

一、导入

from jsonpath import jsonpath

二、jsonpath(obj, expr, result_type=‘VALUE’, debug=0, use_eval=True)

先来个demo,jsonpath方法返回的是一个list

l = jsonpath(json_demo, "$.name")
print(l)     # ['hide']

数组形式:

json_demo1 = [
    {
        "name": "hide1",
        "age": 1
    },
    {
        "name": "hide2",
        "age": 2
    },
    {
        "name": "hide3",
        "age": 3
    }
]

age_ = jsonpath(json_demo1, "$[2].age")[0]
print(age_)

三、jsonpath操作符

在这里插入图片描述

练习:

1、商店中所有书籍的作者

# 1、商店中所有书籍的作者
authors = jsonpath(json_demo, "$..author")
print(authors)  # ['Nigel Rees', 'Evelyn Waugh', 'Herman Melville', 'J. R. R. Tolkien']

2、获取book数组第二个元素内容

# 获取book数组第二个元素内容
second_book = jsonpath(json_demo, "$..book[1]")
print(second_book)

3、book目录下包含isbn的元素

contains_isbn = jsonpath(json_demo, "$..book[?(@.isbn)]")
print(contains_isbn)

4、book目录下价格小于10的元素

price_lt_10 = jsonpath(json_demo, "$..book[?(@.price<10)]")
print(price_lt_10)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值