透過 JSONPath 提取 JSON 數據
JSONPath 是一種用於在 JSON 文件中定位與提取特定資訊的查詢語言。本工具提供即時的反饋機制,當你輸入 JSON 數據與 JSONPath 表達式後,系統會立刻篩選並列出所有符合的數據,同時標示該數據在原始 JSON 結構中的完整路徑。這有助於 API 開發人員、測試人員、數據工程師及技術支援人員精確掌握表達式的選取結果,並在複製特定數值的同時保留其定位資訊。
輸入限制與規格
為了確保瀏覽器運作流暢,本工具設有以下輸入限制:
- JSON 輸入:可接受的最大容量為 500,000 個字元。若超出此限制,系統將顯示「這段 JSON 太大,暫時無法測試。請換一段更小的樣本。」。
- JSONPath 表達式:最大長度限制為 4,000 個字元。若輸入的表達式過長,系統會提示「這個 JSONPath 表達式太長,暫時無法測試。」。
支援的 JSONPath 語法與模式
本工具支援多種常見的 JSONPath 查詢模式,用以應對複雜的巢狀數據結構:
| 語法模式 | 說明與範例 |
|---|---|
| 遞迴下降 (Recursive Descent) | 使用 .. 符號(例如 $..price)尋找不論層級深淺的所有指定鍵值。 |
| 過濾器表達式 (Filter Expressions) | 使用 [?()] 語法(例如 [?@.price < 10])篩選出符合特定條件的物件。 |
| 陣列切片 (Array Slices) | 對陣列進行範圍選取,精確提取特定索引區間的元素。 |
錯誤處理與異常狀態
在解析與執行查詢時,工具會針對不同的異常狀況即時顯示對應的錯誤訊息:
- JSON 格式錯誤:若輸入的 JSON 數據不符合標準語法,系統會顯示「這段 JSON 不合法。」。
- 表達式語法錯誤:若輸入的 JSONPath 語法有誤,系統會顯示「這個 JSONPath 表達式不合法。」。
- 執行失敗:若表達式無法被正確評估,系統會顯示「無法執行這個 JSONPath。」。
- 查詢逾時:為了防止瀏覽器因複雜查詢而當機,工具設有短暫的執行時間限制。若計算超時,系統會停止評估並顯示「這個 JSONPath 執行太久了。請縮窄表達式,或換一段更小的樣本。」。
查詢結果與顯示限制
當表達式成功執行後,工具會列出所有符合的數值與其詳細路徑。
本工具單次最多僅顯示 200 筆結果。若符合的數據超過此上限,結果計數器會顯示「符合:200+」,並附帶提示「僅顯示前 {max} 筆。」(其中 {max} 為 200)。若完全沒有找到相符的數據,則會顯示「沒有符合結果。」。在清空輸入框後,系統會顯示「已清空。」。
本地端處理與隱私保護
本工具的數據處理流程完全在用戶端進行。你的 JSON 數據與 JSONPath 表達式只會在瀏覽器本地測試,不會上傳到 BroBroGo 伺服器。
常見問題
支援哪些 JSONPath 寫法?
可以用 $.store.book[*].title、$..price、[?@.price < 10] 篩選和陣列切片等常見 JSONPath 寫法。
為什麼每筆結果都有路徑?
路徑會標出符合值在原 JSON 內的位置,複製值時亦不會丟失來源。
為什麼查詢可能逾時?
非常寬泛的遞迴查詢或過大的樣本會執行太久。頁面會在短時間後停止這次查詢,讓你縮窄表達式或換小樣本。