什麼是 JSONPath 測試器?
「JSONPath 測試器」是一款專為開發人員與資料處理人員設計的線上工具,能讓您直接測試 JSONPath 表達式對應 JSON 資料的篩選結果。您只需將 JSON 資料貼入工具中,並輸入想要測試的 JSONPath 表達式,系統便會立即顯示所有符合該表達式的數值,同時標示這些數值在原始 JSON 結構中的具體路徑。這項功能可以幫助您精確掌握 JSONPath 表達式從 JSON 資料中提取內容的實際運作方式。
輸入限制與規格
在使用本工具進行測試時,請注意以下輸入限制:
- JSON 輸入:請將您的 JSON 資料貼至工具的文字區域中。此輸入欄位的最大容量限制為 500,000 個字元。若貼入的資料超出此限制,系統將會顯示錯誤訊息「這段 JSON 太大,暫時無法測試。請換一段更小的樣本」。
- JSONPath 表達式:請在指定的文字欄位中輸入或貼上您的 JSONPath 表達式。此欄位的最大長度限制為 4,000 個字元。若表達式長度超過此限制,系統將會顯示錯誤訊息「這個 JSONPath 表達式太長,暫時無法測試」。
輸出結果與錯誤提示說明
當您執行測試後,工具會根據輸入內容即時呈現對應的輸出或提示資訊:
- 符合值:列出所有符合該 JSONPath 表達式的數值。
- 詳情:每一個符合結果的詳細檢視標題,其中包含該數值在原始 JSON 中的來源路徑。
- 符合:
{count}:顯示目前找到的符合結果總數量。 - 僅顯示前
{max}筆:本工具最多僅會顯示 200 筆結果。如果符合的結果超過 200 筆,系統會顯示「符合:200+」並附帶此提示說明。 - 沒有符合結果:當輸入的表達式在 JSON 中找不到任何對應數值時顯示。
- 已清空:當您清除所有輸入欄位後顯示的提示。
此外,若輸入內容或執行過程出現問題,系統會顯示對應的錯誤訊息:
- 若 JSON 格式不正確,會顯示「這段 JSON 不合法」。
- 若 JSONPath 表達式語法有誤,會顯示「這個 JSONPath 表達式不合法」。
- 若表達式語法正確但因其他原因無法執行,會顯示「無法執行這個 JSONPath」。
- 若查詢執行時間過長而逾時,會顯示「這個 JSONPath 執行太久了。請縮窄表達式,或換一段更小的樣本」。
支援的 JSONPath 語法與規則
本工具支援多種常見的 JSONPath 語法模式,協助您精準定位與篩選資料:
- 遞迴下降(Recursive Descent):例如使用
$..price可以尋找不論層級深淺的所有價格欄位。 - 篩選器(Filters):例如使用
[?@.price < 10]來篩選出價格小於 10 的特定物件。 - 陣列切片(Array Slices):支援對陣列進行切片選取。
為了確保瀏覽器的運作流暢,工具設有安全保護機制。如果 JSONPath 表達式過於複雜或查詢範圍太廣,導致評估時間超出短暫的時間限制,工具會自動停止執行並回報逾時錯誤。
隱私與安全保護
您的隱私對我們至關重要。當您使用本工具時,您輸入的所有 JSON 資料與 JSONPath 表達式都只會在您的瀏覽器本地進行測試與處理。沒有任何資料會被上傳到 BroBroGo 伺服器,您可以放心處理您的資料。
誰適合使用此工具?
本工具非常適合以下專業人員與應用場景使用:
- API 開發人員:用於驗證 API 回傳的 JSON 結構與提取邏輯。
- 測試人員:快速驗證 JSONPath 篩選條件是否正確。
- 資料工程師:從複雜的巢狀 JSON 結構中定位特定欄位。
- 客服與支援人員:需要從客戶提供的 JSON 日誌中快速尋找特定資訊。
- 任何需要提取資料的人:當您需要複製 JSON 中的特定數值,同時又希望保留該數值在原始 JSON 中的完整路徑位置時,本工具能提供極大的便利。
常見問題解答 (FAQ)
支援哪些 JSONPath 寫法?
您可以使用如 $.store.book[*].title、$..price、[?@.price < 10] 篩選和陣列切片等常見的 JSONPath 寫法來查詢您的資料。
為什麼每筆結果都有路徑?
路徑會詳細標出該符合值在原始 JSON 結構裡的具體位置,這能確保您在複製數值時,不會丟失其原始的層級與來源資訊。
為什麼查詢可能逾時?
當您使用非常寬泛的遞迴查詢(例如在大範圍資料中使用 $..)或輸入的 JSON 樣本過大時,計算會耗費過多時間。為了避免瀏覽器當機,頁面會在短時間後自動停止該次查詢,並提示您縮窄表達式範圍或更換較小的資料樣本。