Python使用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字段是一个列表,需要使用[*]来表示列表中的所有元素。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)