了解了jsonpath好像打开了新世界的大门。以下整理了学习的链接。
JsonPath是一种简单的方法来提取给定JSON文档的部分内容。 JsonPath有许多编程语言,如Javascript,Python和PHP,Java。JsonPath提供的json解析非常强大,它提供了类似正则表达式的语法,基本上可以满足所有你想要获得的json内容
github上官方文档:https://github.com/json-path/JsonPath
jsonpath和xpath之间的区别:
https://blog.csdn.net/evan_qb/article/details/80745111
jsonpath的使用
https://www.jianshu.com/p/07332b149c97
python中jsonpath的使用:
https://www.cnblogs.com/blueteer/p/10277576.html
示例:
# !/usr/bin/env python
# -*- coding:utf-8 -*-
import json
import jsonpath
import requests
url='https://www.lagou.com/lbs/getAllCitySearchLabels.json'
resp=requests.get(url)
city_json=resp.text
# json字符串转换为python字典对象
city_dict=json.loads(city_json)
# 使用jsonpath匹配
# 获取根节点下的所有name节点的值
names=jsonpath.jsonpath(city_dict,expr='$..name')
print(names)
# 根节点下的message节点的值
message=jsonpath.jsonpath(city_dict,expr='$.message')
print(message)
# D节点下的前3个
D=jsonpath.jsonpath(city_dict,expr='$.content.data.allCitySearchLabels.D[0:3]')
print(D)
# D节点下的第2个和第4个
D=jsonpath.jsonpath(city_dict,expr='$.content.data.allCitySearchLabels.D[1,3]')
print(D)