寒假生活
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
import jsonimport jsonpathobj = json.load(open('073__爬虫_解析_jsonpath.json','r',encoding='utf-8'))# 书店所有书的作者# author_list = jsonpath.jsonpath(obj,'$.store.book[*].author')# print(author_list)# 所有的作者# author_list = jsonpath.jsonpath(obj,'$..author')# print(author_list)# store下面的所有的元素# tag_list = jsonpath.jsonpath(obj,'$.store.*')# print(tag_list)# store里面所有东西的price# price_list = jsonpath.jsonpath(obj,'$.store..price')# print(price_list)# 第三个书# book = jsonpath.jsonpath(obj,'$..book[2]')# print(book)# 最后一本书# book = jsonpath.jsonpath(obj,'$..book[(@.length-1)]')# print(book)# 前面的两本书# book_list = jsonpath.jsonpath(obj,'$..book[0,1]')# book_list = jsonpath.jsonpath(obj,'$..book[:2]')# print(book_list)# 条件过滤需要在()的前面添加一个?# 过滤出所有的包含isbn的书。# book_list = jsonpath.jsonpath(obj,'$..book[?(@.isbn)]')# print(book_list)# 哪本书超过了10块钱book_list = jsonpath.jsonpath(obj,'$..book[?(@.price>10)]')print(book_list) |
book_list = jsonpath.jsonpath(obj, '$..book[?(@.price>10)]')
print(book_list)
这条语句的作用是:查找整个JSON文档中(通过$..book表示任意层级下的book数组),价格(price)大于10的所有书籍对象,并将这些对象组成的列表返回。

浙公网安备 33010602011771号