python json 库 jsonpath_ng

jsonpath_ng 是 Python 中一款解析和操作 JSON 数据的工具,它可以通过 JSONPath 语法来对 JSON 数据进行定位和提取,其用法类似于 XPath 语法对 XML 数据进行定位。

安装

在使用 jsonpath_ng 之前,需要先安装该库。可以通过 pip 命令进行安装,如下所示:

pip install jsonpath_ng

使用

取 dict 中的数据

假设有如下 JSON 数据:

bash 复制代码
{
    "code": 1,
    "result": {
        "msg": "success"
    }
}

获取 msg 字段的信息。可以通过如下代码来实现:

python 复制代码
from jsonpath_ng import parse

data = {"code": 1, "result": {"msg": "success"}}

msg_path = parse("$.result.msg")

# 获取 msg 的信息
msg_path.find(data)[0].value  # success

在上面的代码中,我们首先导入了 jsonpath_ng 库,并将 JSON 数据转换为 Python 中的 dict 类型。接着,我们使用 parse 函数来解析 JSONPath 表达式 $.result.msg,并将其赋值给变量 msg_path。最后,我们通过调用 find 方法并传入 JSON 数据,来获取 msg 的值。

取 list 中的数据

假设有如下 JSON 数据:

bash 复制代码
{
    "code": 1,
    "result": [
        {"id": 1},
        {"id": 2}
    ]
}

获取 id 字段的信息。可以通过如下代码来实现:

python 复制代码
from jsonpath_ng import parse

data = {"code": 1, "result": [{"id": 1}, {"id": 2}]}

list_path = parse("$.result[*].id")

# 获取 list 中 id 的信息
list_path.find(data)[0].value  # 1
list_path.find(data)[1].value  # 2

在上面的代码中,同样使用 parse 函数来解析 JSONPath 表达式 $.result\*.id,并将其赋值给变量 list_path。通过调用 find 方法来获取 id 的值。需要注意的是,由于 result 字段是一个列表,需要使用 \* 来表示列表中的所有元素。

原文链接:https://blog.csdn.net/weixin_44649870/article/details/117778159

相关推荐
2601_963932986 分钟前
怀孕四个月能做流产吗?中期妊娠终止方式与子宫修护科普指南
python
zhr_math_king8 分钟前
LangGraph-快速入门-第一个例子
python·langchain
爱吃苹果的梨叔1 小时前
2026年指挥中心分布式坐席怎么选?清虹创智让多系统、多坐席和大屏真正协同
python
没钥匙的锁11 小时前
16-Java反射机制:Spring IOC背后的核心技术
java·开发语言·spring
起予者汝也1 小时前
Python 数据结构
开发语言·数据结构·python
LadenKiller1 小时前
2026年量化工具增量,放回回测模拟实盘阶段判断
人工智能·python
石一峰6991 小时前
驱动:私有数据为什么要在三个地方各挂一遍?
数据库·python·算法
2601_956319882 小时前
最新量化软件怎么选,先按能力短板匹配工具类型
人工智能·python
Tbisnic2 小时前
26.AI大模型:RNN、LSTM、GRU
人工智能·python·rnn·gru·大模型·llm·lstm
七夜zippoe2 小时前
OpenClaw 实战:智能文档助手——从问答到生成的完整方案
人工智能·python·机器学习·openclaw·智能文档