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
字段是一個列表,需要使用 [*]
來表示列表中的所有元素。
補充:
python json 庫 jsonpath_ng
json path_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 字段是一個列表,需要使用 [*] 來表示列表中的所有元素。
到此這篇關于Python使用jsonpath_ng的方法的文章就介紹到這了,更多相關Python使用jsonpath_ng內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python Handler處理器和自定義Opener原理詳解
這篇文章主要介紹了Python Handler處理器和自定義Opener原理詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-03-03Python基于tkinter canvas實現圖片裁剪功能
這篇文章主要介紹了Python基于tkinter canvas實現圖片裁剪功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-11-11