python jsonpath入门

pip install jsonpath
import json

import jsonpath

fp = open('book.json', 'r', encoding="utf-8")
# json.load()方法是从json文件读取json,而json.loads()方法是直接读取json,
book_json = json.load(fp)
fp.close()

# 书店的所有作者
author_list = jsonpath.jsonpath(book_json, '$.store.book[*].author')
print(author_list)

# 所有的作者
author_list = jsonpath.jsonpath(book_json, "$..author")
print(author_list)

# store下面的所有元素
tag_list = jsonpath.jsonpath(book_json, '$.store.*')
print(tag_list)

# 第三本书
three_book = jsonpath.jsonpath(book_json, "$..book[2]")
print(three_book)

# 最后一本书
last = jsonpath.jsonpath(book_json, "$..book[(@.length-1)]")
print(last)

# 前面两本书
front_two = jsonpath.jsonpath(book_json, "$..book[0,1]")
print(front_two)
# 中间两本书
midle_two = jsonpath.jsonpath(book_json, "$..book[1:3]")
print(front_two)

#条件过滤
#查询包含isbn的书
has_isbn_book=jsonpath.jsonpath(book_json,"$..book[?(@.isbn)]")
print(has_isbn_book)

#查询课本价格大于10
more_than_ten=jsonpath.jsonpath(book_json,"$..book[?(@.price>10)]")
print(more_than_ten)

{ "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": {
      "author": "老马",
      "color": "黑色",
      "price": 19.95
    }
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值