JSONPath 建置工具是一個協助程式,公用程式在建立 REST API 主動和效能監控工具時會用到,此外在 REST API 主動和效能應用程式監控 (APM) 元件中也會用到。這個工具會協助使用者選取他們想要監控的 JSON 元素,然後為所選的 JSON 元素產生一個 JSONPath 查詢。
JSONPath 查詢可以兩種形式來撰寫,括號標記法和點標記法,例如:
[‘name’]
$.name
本主題將說明 JSONPath 建置工具的工作流程以及支援的語法。
從監控工具資料庫加入一個新的 REST API 效能監控工具時,[新增 REST API 效能監控工具] 視窗將會開啟。此視窗中包含兩個相關的區塊,REST API 和 JSONPATH,這兩個區塊會用在 JSONPath 建置工具中。
提供一個 REST API 效能監控工具名稱、說明和逾時值,然後按照這些步驟來使用 JSONPath 建置工具:
從監控工具資料庫加入一個新的 REST API 主動監控工具時,[新增 REST API 主動監控工具] 視窗將會開啟。此視窗中包含兩個相關的區塊,REST API 和離線條件,後者包含了 JSONPath 查詢資料格以供作為為監控工具新增離線條件的方法。當您選取放大鏡按鈕時,JSONPath 查詢資料格會用到 JSONPath 建置工具。
使用 REST API 主動監控工具時,您可以定義多個 JSONPath 查詢以為監控工具評估一個離線狀態。此外不同於效能監控工具的是,主動監控工具支援針對數值、布林值、字串類型的變數來驗證離線條件。
在 JSONPath 建置工具中選取 JSON 元素時,JSONPath 查詢資料格會自動偵測元素的類型,並將其填入在 JSONPath 查詢資料格的類型資料欄中。
提供一個 REST API 主動監控工具名稱、說明和逾時值,然後按照這些步驟來使用 JSONPath 建置工具:
REST API 效能應用程式監控 (APM) 元件運作的方式類似於 REST API 效能監控工具,不過另外還多了用於數值回應的警告和離線臨界值條件。REST API APM 元件可被附加到一部測試裝置上並經過驗證。下面幾個影像顯示一個數值 API 端點附帶著警告和離線臨界值的範例:
REST API 主動應用程式監控 (APM) 元件運作的方式類似於 REST API 主動監控工具,不過另外還多了一部可供附加 REST API 主動 APM 元件及驗證監控工具的測試裝置。
如前所述,JSONPath 查詢可以兩種形式來撰寫,括號標記法和點標記法,例如:
[‘name’]
$.name
如果有一個「books」的 JSON 陣列,其中陣列中第一個項目的名稱有「The Cat in the Hat」,那麼您可透過輸入以下其中一個 JSON 查詢來存取該值:
[‘books’][0]['name']
$.books[0].name
除了支援使用 JSONPath 建置工具來為 JSON 元素產生 JSONPath 查詢之外,您也可在 JSONPath 查詢中使用過濾條件來撰寫進階的查詢以驗證 JSON 回應。過濾條件可使用比較運算子來執行作業。除此之外,也提供「長度」屬性來傳回 JSON 陣列的長度。
這些屬性可用於 JSONPath 查詢過濾條件以根據條件來傳回值並過濾掉不需要的值。
Note: 只有當擷取物件的長度是 1 時,權杖選取器才會傳回一個值。如果 JSONPath 查詢傳回多個值,那麼將會擲回一個剖析錯誤。
下表列出所支援的比較運算子:
比較運算子名稱 |
比較運算子 |
範例(括號標記法) |
範例(點標記法) |
注意 |
等於 |
|
|
|
查詢傳回庫存中的「The Cat in the Hat」書本數量。 |
不等於 |
|
|
|
|
小於 |
|
|
|
舉例來說,如果「The Cat in the Hat」所包含的書本數量小於 3 本,那麼對於主動監控工具和主動 APM 元件來說,離線條件將會是一個包含「The Cat in the Hat」的字串。 |
小於或等於 |
|
|
|
|
大於 |
|
|
|
舉例來說,如果「The Cat in the Hat」包含的書本數量大於 1 本,那麼對於主動監控工具和主動 APM 元件來說,離線條件可能會是一個不包含 1(「The Cat in the Hat」的 bookId/書本 ID)的數字。 |
大於或等於 |
|
|
|
|
長度 |
|
|
|
傳回 JSON 陣列的長度。 |