每天努力一点点,坚持下去 ------ 博客首页

Python之jsonpath模块

使用jsonpath模块,需要 pip install jsonpath 安装即可。

当遇到层级比较深的字典时,要想取值使用jsonpath取值比较方便,可以一下取到。

如果取得值不存在,则返回False

import jsonpath

d = {
    "error_code": 0,
    "stu_info": [
        {
            "id": 314,
            "name": "矿泉水",
            "sex": "",
            "age": 18,
            "addr": "北京市昌平区",
            "grade": "摩羯座",
            "phone": "18317155663",
            "gold": 100,
            "cars": [
                {"car1": "bmw"},
                {"car2": "ben-z"},
                [
                    {"money":9999}
                ]
            ]
        }
    ]

}
result=jsonpath.jsonpath(d,'$..car2') #模糊匹配
result=jsonpath.jsonpath(d,'$.stu_info') #取到stu_info这里的所有内容
result = jsonpath.jsonpath(d, '$.stu_info[0]') #取到stu_info里的第1个元素
result = jsonpath.jsonpath(d, '$.stu_info[0].id')  # 取到stu_info里的第1个元素中的id
result = jsonpath.jsonpath(d,'$.stu_info..money') #取到stu_info中money的value值
print(result)

 * $ 相当于是变量名(d),一个点,代表此数据下边的几层,如:$.——是在"error_code"、 "stu_info"层,$..是到了stu_info层下边的 id、name层


 

posted @ 2021-06-20 16:46  他还在坚持嘛  阅读(141)  评论(0编辑  收藏  举报