当前位置:   article > 正文

python-jsonpath的简单使用_python json path赋值

python json path赋值

使用jsonpath提取json数据指定参数的值,json文件如下所示

  1. {
  2. "name": "atool",
  3. "url": "https://atool.vip/",
  4. "author": [
  5. {
  6. "id": "hustcc",
  7. "age": 24,
  8. "developer": true
  9. },
  10. {
  11. "id": "wzq",
  12. "age": 23,
  13. "developer": true
  14. },
  15. {
  16. "id": "dou",
  17. "age": 23,
  18. "developer": true
  19. }
  20. ],
  21. "tags": [
  22. "在线工具",
  23. "online",
  24. "free",
  25. "javascript"
  26. ],
  27. "describe": "网站前身为 atool.org,重构 ui 而来!"
  28. }

代码如下所示

  1. #!usr/bin/env python
  2. #-*- coding:utf-8 -*-
  3. """
  4. @author:doulihang
  5. @file: json_path_test.py
  6. @time: 2019/05/08
  7. """
  8. import json
  9. import jsonpath
  10. with open("data.json", 'r') as load_f:
  11. # 将已编码的 JSON 字符串解码为Python对象
  12. load_dict = json.load(load_f)
  13. """使用jsonpath进行匹配"""
  14. #获取根节点下所有name的值
  15. a = jsonpath.jsonpath(load_dict,expr="$.name")
  16. print(a)
  17. #获取author下第一个字典id的值
  18. b = jsonpath.jsonpath(load_dict,expr="$.author[0].id")
  19. print(b)
  20. #获取最后一个tags值
  21. c = jsonpath.jsonpath(load_dict,expr="$.tags[-1:]")
  22. print(c)
  23. #获取前三个tags值
  24. d = jsonpath.jsonpath(load_dict,expr="$.tags[0:3]")
  25. print(d)
  26. #获取第二个、第四个tags值
  27. e = jsonpath.jsonpath(load_dict,expr="$.tags[1,3]")
  28. print(e)
  29. #获取age等于23的所有id
  30. f = jsonpath.jsonpath(load_dict,expr="$.author[?(@.age== 23)]")
  31. g = jsonpath.jsonpath(f,expr="$..id")
  32. print(f)

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/977892
推荐阅读
相关标签
  

闽ICP备14008679号