寒假生活指导11
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 json import jsonpath obj = 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的所有书籍对象,并将这些对象组成的列表返回。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通