python json 库 jsonpath_ng

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

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

pip install jsonpath_ng

使用
取 dict 中的数据
假设有如下 JSON 数据:

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



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

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 数据:

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



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

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

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值