• python中jsonpath的使用


    JsonPath是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种原因实现保本:JavaScript/Python/PHP和Java。

    使用方法如:

    import jsonpath
    res=jsonpath.jsonpath(dic_name,'$..key_name')
    #嵌套n层也能取到所有key_name信息,其中:“$”表示最外层的{},“..”表示模糊匹配,当传入不存在的key_name时,程序会返回false

    安装方法:pip install jsonpath
         
    官方文档:http://goessner.net/articles/JsonPath

    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,'$..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
  • 相关阅读:
    c++3种内存管理方式
    什么是向上兼容和向下兼容?
    回溯法解马的遍历问题
    c++内联函数
    2009年NCRE考试有新变化
    sql server日期时间函数
    Web开发工具大集合
    javascript屏幕高度和宽度等信息代码
    gridview无数据行时显示表头的方法
    IE, FF, Safari前端开发常用调试工具
  • 原文地址:https://www.cnblogs.com/blueteer/p/10277576.html
Copyright © 2020-2023  润新知