一、导入
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)