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

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 @   他还在坚持嘛  阅读(144)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示