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)]"))

执行结果

最新文章

  1. spring aop的使用
  2. C# winform开发:Graphics、pictureBox同时画多个矩形
  3. JAVA类和对象课后作业
  4. Create a geoprocessing tool to buffer a layer and retrieve messages____sync
  5. 解决ubuntu下安装mysql使用service无法启动问题
  6. Codeforces Round #353 (Div. 2)Restoring Painting
  7. 郝文菲get技能的经验--20155308
  8. 【UER #1】[UOJ#12]猜数 [UOJ#13]跳蚤OS [UOJ#14]DZY Loves Graph
  9. Ubuntu 13.10 Rhythmbox 播放器不能播放MP3。安装插件
  10. JS仿淘宝详情页菜单条智能定位效果
  11. WebService应用--使用java开发WebService程序
  12. Python函数--装饰器进阶
  13. C# MVC 微信支付教程系列之公众号支付
  14. Hadoop(三) HADOOP常用命令参数介绍
  15. 探索未知种族之osg类生物---呼吸分解之事件循环二
  16. 初识java java的加载与执行(JDK,JVM,JRE关系解释)
  17. ADOX创建ACCESS 表时,几个附加属性
  18. 总结一下公司项目使用各种较新的前端技术和 Api 的一些经验。
  19. 如何设置mysql允许外网访问
  20. JS——EasyuiCombobox三级联动

热门文章

  1. Project Reactor工厂方法和错误处理
  2. vue 项目如何使用animate.css
  3. 使用匿名内部类和lamda的方式创建线程
  4. 记一次单机Nginx调优,效果立竿见影
  5. 开发中Design Review和Code Review
  6. Nginx区分PC和手机
  7. Linux网络编程入门
  8. IDEA中安装SVN
  9. java nio 写一个完整的http服务器 支持文件上传 chunk传输 gzip 压缩 使用过程 和servlet差不多
  10. grep 命令过滤配置文件中的注释和空