jsonpath简单入门

本文介绍了如何使用JsonPath在Python中解析并操作一个本地JSON文件,展示了如何提取书籍作者、类别、价格等信息,以及通过条件过滤进行数据检索。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本地json文件 

{ "store": {
    "book": [
      { "category": "修真",
        "author": "六道",
        "title": "坏蛋是怎样练成的",
        "price": 8.95
      },
      { "category": "修真",
        "author": "天蚕土豆",
        "title": "斗破苍穹",
        "price": 12.99
      },
      { "category": "修真",
        "author": "康家三少",
        "title": "斗罗大陆",
        "isbn": "0-553-21311-3",
        "price": 8.99
      },
      { "category": "修真",
        "author": "南派三叔",
        "title": "星辰变",
        "isbn": "0-395-19395-8",
        "price": 22.99
      }
    ],
    "bicycle": {
      "color": "red",
      "price": 19.95
    }
  }
}

 jsonpath的基本使用

import json
import jsonpath
obj=json.load(open('path.json', 'r', encoding='utf-8'))
# 书店所有书的作者
author_list=jsonpath.jsonpath(obj,'$.store.book[*].author')
# 所有的作者
author_list2=jsonpath.jsonpath(obj,'$..author')
# store下面所有的元素
store_list=jsonpath.jsonpath(obj,'$.store.*')
# store里面所有的钱
store_list2=jsonpath.jsonpath(obj,'$.store..price')
# 第三本书
book=jsonpath.jsonpath(obj,'$..book[2]')
# 最后一本书
last_book=jsonpath.jsonpath(obj,'$..book[(@.length-1)]')
# 前两本书
book_list=jsonpath.jsonpath(obj,'$..book[0:2]')
book_list2=jsonpath.jsonpath(obj,'$..book[:2]')
# 条件过滤需要在()前加?
# 过滤出所有包含isbn的书
isbn_list=jsonpath.jsonpath(obj,'$..book[?(@.isbn)]')
# 那几本书超过10元
price_10=jsonpath.jsonpath(obj,'$..book[?(@.price>10)]')

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值