python中如何对复杂的json数据快速查找key对应的value值
前言
之前在实际的项目研发中,需要对一些复杂的json数据进行取值操作,由于json数据的层级很深,所以经常取值的代码会变成类似这样:
value = data['store']['book'][0]['title']
有的甚至会比这个更长,看起来特别不舒服,而且假如原始的数据发生了一个变化,你需要针对你的代码再做一个工作量不小的适配工作,非常不方便,所以我想能否可以快速的对一串json数据取到想要的key对应的value值呢?
经过一段尝试,终于成功的解决了这个问题,其实核心思想就是将`取值过程流程化`,代码其实很简单,我也已经将代码传到了github上了,地址在 这里 。
安装
为了更加能够让大家快速的使用代码的相关功能,我将代码上传到python库。
大家可以使用`pip`进行安装:
pip install jsonsearch
或者使用
pip install --index-url Links for jsonsearch
解决方案
测试数据
{
"store": {
"book": [
"category": "reference",
"author": "Nigel Rees",
"title": "Sayings of the Century",
"price": 8.95
"category": "fiction",
"author": "Evelyn Waugh",
"title": "Sword of Honour",
"price": 12.99
"category": "fiction",
"author": "Herman Melville",
"title": "Moby Dick",
"isbn": "0-553-21311-3",
"price": 8.99
"category": "fiction",
"author": "J. R. R. Tolkien",
"title": "The Lord of the Rings",
"isbn": "0-395-19395-8",
"price": 22.99
"bicycle": {