Python jsonpath库处理JSON数据

妖狐艹你老母 2023-10-05 21:33 57阅读 0赞

jsonpath官方文档:https://goessner.net/articles/JsonPath/

1.语法:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hseDIwMDgwODA4_size_16_color_FFFFFF_t_70

2.bookstore.xml文件案例:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hseDIwMDgwODA4_size_16_color_FFFFFF_t_70 1 watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hseDIwMDgwODA4_size_16_color_FFFFFF_t_70 2

3.安装第三方库 pip install jsonpath

查看 pip list

20210419112525843.png

4.json文件

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hseDIwMDgwODA4_size_16_color_FFFFFF_t_70 3

code:

  1. #使用jsonpath方法
  2. def usejsonpath():
  3. #1.url
  4. url='https://www.lagou.com/lbs/getAllCitySearchLabels.json'
  5. #2.请求头信息
  6. headers={
  7. 'User-Agent':ua.random
  8. }
  9. #3.响应数据
  10. res=requests.get(url,headers=headers)
  11. # print(res.text)
  12. #4.将json字符串转换成python字典
  13. dic=json.loads(res.text)
  14. print(dic)
  15. # 第一种:通过jsonpath
  16. # 提取A里面的所有name元素
  17. #$.根节点content所有数据
  18. # result =jsonpath(dic,'$.content')
  19. #$..A的数据
  20. # result =jsonpath(dic,'$..A')
  21. #$..A的name数据
  22. # result =jsonpath(dic,'$..A[*].name')
  23. # 获取到所有的name
  24. # $ 代表从根节点开始
  25. # ..是不管什么位置
  26. result =jsonpath(dic,'$..name')
  27. # print(result)
  28. # 第二种:通过字典的键取值
  29. resBList=dic['content']['data']['allCitySearchLabels']['B']
  30. # print(resBList)
  31. # #循环列表
  32. for res in resBList:
  33. print(res)
  34. # print(res['name'])

20210419114216705.png

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hseDIwMDgwODA4_size_16_color_FFFFFF_t_70 4

总之: 使用了jsonpath与字典取值,但比较一下,其实jsonpath要简单,而字典就是要层层进入,再循环遍历。

发表评论

表情:
评论列表 (有 0 条评论,57人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Python怎么处理JSON数据

    什么是JSON? 1. JSON是一种轻量级的数据交互格式,采用完全独立于编程语言的文本格式来存储和表示数据。和xml相比,它更小巧,但描述能力却不差,更适合于在网络上

    相关 jsonpath 解析json内容实战

    JsonPath提供的json解析非常强大,它提供了类似正则表达式的语法,基本上可以满足所有你想要获得的json内容。下面我把官网介绍的每个表达式用代码实现,可以更直观的知道该

    相关 python处理json数据

    > 大致思路:将数据通过list、tuple、dict拼接起来,然后通过json.dump()进行转换 第一步:分别拼接为字符串 第二步:将字符串转化为list 第三