Python_jsonPath模块的使用
Posted 不自在
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python_jsonPath模块的使用相关的知识,希望对你有一定的参考价值。
jsonpath简介
如果有一个多层嵌套的复杂字典,想要根据key批量提取value,还是比较繁琐的。jsonPath模块就能解决这个痛点,接下来我们来学习一下jsonpath模块。
因为jsonpath是第三方模块,想要使用需要安装
pip install jsonpath
jsonpath使用方法
import jsonpath res=jsonpath.jsonpath(dict_data,\'jsonpath语法规则字符串\')
根据给定jsonpath语法规则,在dict_data中若能找到对应的数据,则以list类型返回数据,若找不到则返回false。
jsonpath语法规则
jsonpath使用示例
book_dict = { "book": [ {"category": "reference", "author": "Nigel Rees", "title": "Sayings of the Century", "price": 8.95 }, {"category": "fiction", "author": "Evelyn Waugh", "title": "Sword of Honour", "price": 12.99 }, {"category": "fiction", "author": "Herman Melville", "title": "Moby Dick", "isbn": "0-553-21311-3", "price": 8.99 }, {"category": "fiction", "author": "J. R. R. Tolkien", "title": "The Lord of the Rings", "isbn": "0-395-19395-8", "price": 22.99 } ], "bicycle": { "color": "red", "price": 19.95 } } from jsonpath import jsonpath # 获取price的所有值 print(jsonpath(book_dict, \'$..price\')) # 获取book下面所有元素 print(jsonpath(book_dict, "$.book.*")) # 获取book下面所有price的值 print(jsonpath(book_dict, "$.book[*].price")) print(jsonpath(book_dict, "$.book..price")) # 获取第1本书所有信息 print(jsonpath(book_dict, "$.book[0]")) # 获取第2~3本书所有信息 print(jsonpath(book_dict, "$.book[1:3]")) # 获取最后一本书 print(jsonpath(book_dict, "$.book[(@.length-1)]")) # 获取包含了isbn的所有书 print(jsonpath(book_dict, "$.book[?(@.isbn)]")) # 获取书的价格小于10的书 print(jsonpath(book_dict, "$.book[?(@.price<10)]"))
执行结果
以上是关于Python_jsonPath模块的使用的主要内容,如果未能解决你的问题,请参考以下文章
如何使用模块化代码片段中的LeakCanary检测内存泄漏?
CTS测试CtsWindowManagerDeviceTestCases模块的testShowWhenLockedImeActivityAndShowSoftInput测试fail项解决方法(代码片段