python中jsonpath模块,解析多层嵌套的json数据

python中jsonpath模块,解析多层嵌套的json数据

  1. jsonpath介绍
    用来解析多层嵌套的json数据;JsonPath 是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括:Javascript, Python, PHP 和 Java。

使用方法如:

import jsonpath
res=jsonpath.jsonpath(dic_name,’KaTeX parse error: Expected 'EOF', got '#' at position 14: ..key_name') #̲嵌套n层也能取到所有key_n…”表示最外层的{},“…”表示模糊匹配,当传入不存在的key_name时,程序会返回false

  1. JsonPath 对于 JSON 来说,相当于 XPath 对于 XML。

     安装方法:pip install jsonpath
    
     官方文档:http://goessner.net/articles/JsonPath
    
  2. JsonPath与XPath语法对比:

Json结构清晰,可读性高,复杂度低,非常容易匹配,下表中对应了XPath的用法。

Xpath JSONPath 描述
在这里插入图片描述
4. 使用实例
d={
“error_code”: 0,
“stu_info”: [
{
“id”: 2059,
“name”: “小白”,
“sex”: “男”,
“age”: 28,
“addr”: “河南省济源市北海大道32号”,
“grade”: “天蝎座”,
“phone”: “18378309272”,
“gold”: 10896,
“info”:{
“card”:434345432,
“bank_name”:‘中国银行’
}

            },
            {
                    "id": 2067,
                    "name": "小黑",
                    "sex": "男",
                    "age": 28,
                    "addr": "河南省济源市北海大道32号",
                    "grade": "天蝎座",
                    "phone": "12345678915",
                    "gold": 100
            }
    ]

}

res= d[“stu_info”][1][‘name’] #取某个学生姓名的原始方法:通过查找字典中的key以及list方法中的下标索引
print(res) #输出结果是:小黑

import jsonpath
res1=jsonpath.jsonpath(d,'KaTeX parse error: Expected 'EOF', got '#' at position 10: ..name') #̲嵌套n层也能取到所有学生姓名信…表示最外层的{},…表示模糊匹配
print(res1) #输出结果是list:[‘小白’, ‘小黑’]

res2= jsonpath.jsonpath(d,’$…bank_name’)
print(res2) #输出结果是list:[‘中国银行’]

res3=jsonpath.jsonpath(d,’$…name123’) #当传入不存在的key(name)时,返回False
print(res3) #输出结果是:False

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值