一、什麼是jsonpath
用來解析json資料的所使用的。
二、拓展
1、python 處理json格式所使用的函式
(1)json.dumps()
將字典或者列表轉換為json格式的字串。
(2)json.loads()
將json格式字串轉換為python物件。
(3)json.dump()
將字典或者列表轉換為json格式的字串並且寫入到檔案中。
(4)json.load()
從檔案中讀取json格式的字串並且轉換為python物件。
(5)例項
2、前端處理json格式的資料
將json格式字串轉換為js物件,兩種方式:
(1)json.parse("json格式的字串")
(2)eval('(' + json格式字串 + ')')
三、jsonpath如何解析json資料
1、安裝jsonpath
pip3 install jsonpath
2、xpath與jsonpath對比
xpath
jsonpath
description/$
表示根元素.@
當前元素
/. or
子元素..
n/a父元素
//..
遞迴下降,jsonpath是從e4x借鑑的。**
萬用字元,表示所有的元素
@n/a
屬性訪問字元
子元素操作符
|[,]
連線操作符在xpath 結果合併其它結點集合。jsonp允許name或者陣列索引。
n/a[start:end:step]
陣列分割操作從es4借鑑。
?()應用過濾表示式
n/a()
指令碼表示式,使用在指令碼引擎下面。
()n/a
xpath分組
注:(1) 在xpath表示式總是從前面的路徑來運算元組,索引是從1開始。
(2) 使用josnpath的操作符操作乙個物件或者陣列,索引是從0開始。
3、jsonpath例項
jsonpath_exam.py#!/usr/local/bin/python3.7
import
json
import
jsonpath
#從檔案中讀取json格式的字串並且轉換為python物件
obj = json.load(open('
reptile/books.json
', '
r', encoding='
utf-8'))
#獲取所有書的作者
authors = jsonpath.jsonpath(obj, '
$.store.book[*].author')
(authors)
#獲取所有的作者
authors = jsonpath.jsonpath(obj, '
$..author')
(authors)
#store的所有元素。所有的book和bicycle
store_elements = jsonpath.jsonpath(obj, '
$.store.*')
(store_elements)
#獲取store裡面的所有東西的price
prices = jsonpath.jsonpath(obj, '
$.store.*..price')
(prices)
#獲取第三本書
book3 = jsonpath.jsonpath(obj, '
$.store.book[2]')
(book3)
#獲取最後一本書
book_last = jsonpath.jsonpath(obj, '
$.store.book[(@.length-1)]')
(book_last)
#獲取前面的兩本書
book_1_2 = jsonpath.jsonpath(obj, '
$..book[0,1]')
(book_1_2)
#過濾出所有的包含isbn的書。
isbn = jsonpath.jsonpath(obj, '
$..book[?(@.isbn)]')
(isbn)
#過濾出**低於10的書。
under10 = jsonpath.jsonpath(obj, '
$..book[?(@.price<30)]')
(under10)
#找出所有元素
all = jsonpath.jsonpath(obj, '
$.*'
)print(all)
books.json, ,,],
"bicycle":
}}
JsonPath使用教程
json提取器說明 names of created variables 接收值的變數名,自定義,多個變數用分號分隔 json path expression json path表示式,也是用分號分隔 match no.0 for random 0表示隨機 n取第幾個匹配值 1匹配所有。若只要獲取到...
JSONPath 表示式的使用
一 jsonpath使用需要的包 com.jayway.jsonpath json path 2.4.0 二 使用說明 1 jsonpath是xpath在json的應用 2 jsonpath 是參照xpath表示式來解析xml文件的方式,json資料結構通常是匿名的並且不一定需要有根元素。3 jso...
使用jsonpath讀取json資料的誤區
使用jsonpath.jsonpath 讀取json資料,出現錯誤,json格式中鍵是帶字尾檔名,型別為string 實際查詢結果為false import jsonpath follow relationship data followrelationship2.txt keyword follo...