JSONPath 測試器

輸入 JSONPath 表達式,即時查看 JSON 中符合的值和路徑。

JSON 輸入
符合值
輸入 JSON 和 JSONPath 表達式即可測試。

你的 JSON 和 JSONPath 會在瀏覽器本地測試,不會上傳到 BroBroGo。

常見問題

支援哪些 JSONPath 寫法?

可以用 $.store.book[*].title、$..price、[?@.price < 10] 篩選和陣列切片等常見 JSONPath 寫法。

為什麼每筆結果都有路徑?

路徑會標出符合值在原 JSON 裡的位置,複製值時也不會丟掉來源。

為什麼查詢可能逾時?

非常寬泛的遞迴查詢或過大的樣本會執行太久。頁面會在短時間後停止這次查詢,讓你縮小表達式或換小樣本。

什麼是 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 樣本過大時,計算會耗費過多時間。為了避免瀏覽器當機,頁面會在短時間後自動停止該次查詢,並提示您縮窄表達式範圍或更換較小的資料樣本。