
JSONPath 測試人員根據 JSON 文件評估 JSONPath 表達式,並傳回表達式選擇的每個值以及每個匹配的確切路徑。 JSONPath 是 JSON 的查詢語言,就像 XPath 是 XML 的查詢語言一樣:您編寫一條短路徑,例如 $。store。book[*]。author 並返回匹配值列表,而無需編寫任何程式碼。此工具解析您的 JSON,運行表達式,並顯示每個結果和歸一化路徑。
測試人員的重點是回饋。當 JSONPath 表達式不傳回任何內容或傳回的次數超出您的預期時,問題幾乎總是一個小的語法細節:缺少通配符、錯誤的括號樣式或將字串與數字進行比較的過濾器。根據真實資料即時運行查詢,並查看它接觸的節點,會將猜測變成兩秒鐘的檢查。這也是開發人員在編輯器旁邊保留正規表示式測試儀打開的原因。
一切都在您的瀏覽器中運行。 JSON 使用內建 JSON 解析器進行解析,表達式由用 JavaScript 編寫的小型解釋器進行評估,因此不會上傳、記錄或儲存任何內容。這很重要,因為 JSONPath 工作通常會針對攜帶令牌、ID 或客戶記錄的 API 回應和設定文件進行,並且該工具會將該有效負載保留在您自己的電腦上,並在頁面載入後保持離線工作。
JSONPath 是一個具有多種實作而不是單一規範的約定,它們在邊緣上存在分歧。過濾器語法是最不便攜的部分,因此在一個庫中工作的表達式可能需要在另一個庫中進行調整。遞歸下降是昂貴的操作:它遍歷文件中的每個節點,因此在大檔案上,以兩個點開頭的查詢明顯比明確路徑慢。
將物件或陣列貼到 JSON 框中,或載入範例書店文件。輸入必須是有效的 JSON;解析錯誤會隨位置一起報告,以便您可以修復它們。
輸入 $。store.book[*].title 或 $。。price 等路徑。從 $ 開始為根,為子級使用點或括號,然後新增過濾器,例如 [?(@。price < 10)] 以按值選擇。
該工具在運行表達式時對其進行評估,並將每個匹配值與計數一起列出。將輸出切換到路徑或條目以查看每個結果來自哪裡。
將匹配的值、路徑清單或完整的路徑和值條目複製為 JSON,以貼上到程式碼、測試或文件中。
根、子、遞歸下降 (...)、通配符 (*)、包含負索引的數組索引、並集和 Python 樣式切片均受支持,因此大多數已發布的 JSONPath 範例均保持不變。
使用 [?(@。price < 10 & & @。category == "fiction")] 等過濾器按值選擇節點。比較運算子、存在性校驗和 &&/||每個元素評估組合。
將匹配值、每個匹配的標準化路徑或兩者一起視為條目。路徑輸出對於建立您實際需要的表達式很方便。
無效的 JSON 和格式錯誤的表達式會與特定訊息單獨報告,因此您知道是修復資料還是查詢,而不是盯著空結果。
Generate a JSON Schema from any JSON sample. Infers types, merges arrays of objects into one item schema, derives required fields, and detects date-time, email, uri, and uuid formats. Draft-07 and 2020-12 output. 100% client-side.
Generate TypeScript interfaces from any JSON sample. Infers nested types, merges arrays of objects into a single interface, marks nullable and missing keys optional, and emits clean exportable code. 100% client-side.
Convert JSON to well-formed XML instantly. Map object keys to elements, @-prefixed keys to attributes and #text to content, expand arrays into repeated tags, and export minified or pretty-printed XML. 100% client-side.
Format, beautify, minify, and validate XML online - preserves comments, CDATA, and attribute order, with clear error reporting
0 comments
No comments yet. Be the first to share your thoughts!