1.概念
如果有一个多层嵌套的复杂字典,想要根据key和下标来批量提取value,这是比较困难的。jsonpath模块就能解决
jsonpath可以按照key对python字典进行批量数据提取
语法:
from jsonpath import jsonpath
ret = jsonpath(a, 'jsonpath语法规则字符串')
2.应用
普通使用json,要一层一层找,麻烦
#coding:utf-8
import jsonpath
data = {"key1":{"key2":{"key3":{"key4":{"key5":{"key6":{"key7":{"key8":"python21"}}}}}}}}
print(data["key1"]["key2"]["key3"]["key4"]["key5"]["key6"]["key7"]["key8"])
使用jsonpath。直接使用..key8
简洁
# jsonpath的结果是一个列表
print(jsonpath.jsonpath(data, '$.key1.key2.key3.key4.key5.key6.key7.key8'))
print(jsonpath.jsonpath(data, '$..key8'))
3.api
1)常用的有
$
.
..
2)案例