JSON 路徑提取
JSONPath · 全路徑列表 · 節點提取
路徑提取
就緒
ABOUT
關於 JSON 路徑提取
瀏覽複雜 JSON 的所有路徑,或使用 JSONPath 表示式(如 $..price)精確提取目標欄位。
GraphQL 之外,JSONPath 仍是探索 REST API 返回結構最高效的方式之一。先列舉全部路徑建立索引,再用表示式精確提取——這一流程可將熟悉新介面的時間從小時級縮短到分鐘級。
DEEP DIVE
深入瞭解 JSON 路徑提取
JSONPath 是 XPath 的 JSON 等價物,用表示式定位巢狀資料中的節點。例如 $..price 可遞迴查詢所有 price 欄位,$.store.book[*] 可獲取陣列全部元素。JSONSort 路徑工具支援完整 JSONPath 語法,也支援留空列出所有路徑。
當接手陌生 API 或分析第三方返回的大型 JSON 時,先列出全部路徑是最高效的探索方式——比肉眼掃描數百行文字快得多。
JSONPath 規範有多種實現差異(如過濾表示式、遞迴 descent)。JSONSort 採用常用語法子集,覆蓋 $..field、陣列切片、條件過濾等 90% 日常場景。複雜表示式建議先用小樣本驗證,再應用到完整資料集。
FEATURES
核心能力
全路徑列舉
留空 JSONPath 輸入框,自動列出 JSON 中所有葉子節點路徑。
JSONPath 查詢
支援 $、..、[]、*、?() 等標準 JSONPath 表示式。
過濾表示式
使用 ?(@.field > 10) 等條件過濾陣列元素。
結果格式化
提取結果以 JSON 格式輸出,可直接複製使用。
語法校驗
JSON 輸入不合法時提示錯誤行,避免在髒資料上查詢。
本地執行
查詢邏輯在瀏覽器內執行,資料不上傳。
路徑複製
列舉結果可直接複製路徑字串用於程式碼或文件。
多結果輸出
匹配多個節點時以 JSON 陣列形式返回,便於後續處理。
HOW TO USE
使用步驟
-
1
貼上 JSON 資料
-
2
留空列出全部路徑,或輸入 JSONPath
-
3
檢視提取結果並複製
-
4
在頂部選項欄調整縮排、JSON5、排序等高階設定
-
5
一鍵複製結果,或繼續用 Diff / 路徑提取等工具深入分析
WORKFLOW
典型工作流
從匯入資料到匯出結果的完整流程,幫助團隊統一 JSON 路徑提取 的使用方式。
匯入 JSON
貼上 API 響應或上傳配置檔案,確保語法合法。
瀏覽全路徑
留空 JSONPath,瀏覽所有葉子路徑建立結構認知。
編寫表示式
輸入 $..target 或帶過濾的表示式,檢視提取結果。
落地到程式碼
複製路徑到 lodash get、JMESPath 或文件中的欄位說明。
USE CASES
適用場景
前端開發
探索未知 API 響應結構,確定 data.user.list 等取值路徑。
後端開發
驗證序列化後的 JSON 是否包含預期欄位路徑。
資料分析師
從複雜巢狀 JSON 中提取特定指標欄位。
測試工程師
確認介面返回中存在/不存在某 JSONPath 路徑。
QA 自動化
確認迴歸介面中關鍵 JSONPath 路徑仍存在且型別未變。
爬蟲 / 採集
分析第三方 API 響應,確定資料提取路徑寫爬蟲規則。
TIPS
使用技巧
- 接手新 API 時第一步:留空路徑框,瀏覽全部路徑建立心智模型。
- $..fieldName 遞迴查詢所有層級中的 fieldName,非常實用。
- 陣列過濾用 ?(@.price < 10),可快速篩選符合條件的元素。
- 提取結果可貼上到「程式碼生成」工具,反向生成 TypeScript 型別。
- 路徑過多時用格式化 + 樹檢視配合,比純路徑列表更直觀。
- JSONPath 表示式區分大小寫,欄位名需與 JSON 完全一致。
- $.store.book[*].author 是經典範例,可用來快速驗證表示式語法。
- 過濾表示式裡比較數字時不要加引號:?(@.price < 10)。
- 路徑列表匯出後可作為介面文件的「欄位索引」附錄。
- 深層路徑過長時,考慮後端 flatten 或 GraphQL 減少前端提取複雜度。
LOCAL VS ONLINE
本地 vs 線上工具
JSONSort 堅持純前端架構,以下對比說明為何本地化工具更適合處理開發資料。
TROUBLESHOOTING
常見誤區與排查
實際使用中容易遇到的問題及建議處理方式,減少反覆試錯的時間。
路徑太多看不過來
建議:先用格式化樹檢視理解頂層結構,再針對性查詢子樹。
過濾表示式報錯
建議:簡化表示式逐步新增條件;確認 @ 引用當前節點語法。
陣列 vs 物件混淆
建議:注意 [0] 與 .field 的區別;用全路徑列表確認節點型別。
特殊字元鍵名
建議:含空格或符號的鍵使用 ["key name"] bracket 表示法。
FAQ
常見問題
支援哪些 JSONPath 語法?
支援 $、..、[]、*、?()、@ 等常用 JSONPath 表示式。
路徑列表和查詢結果有什麼區別?
留空時輸出所有路徑;輸入表示式時輸出匹配節點的值。
能處理 JSON 陣列根節點嗎?
可以。根節點為陣列時,路徑以 $[0]、$[1] 等形式表示。
為什麼我的表示式返回空?
檢查欄位名大小寫、陣列索引是否越界、以及 .. 遞迴是否匹配到預期層級。
能更新 JSON 中的值嗎?
當前為只讀提取。修改值請編輯 JSON 後重新查詢。
資料會上傳到伺服器嗎?
不會。JSONSort 所有工具均在瀏覽器本地執行,您的輸入內容不會傳送到任何後端伺服器。
需要註冊或安裝嗎?
不需要。開啟頁面即可使用,無需賬號、無需下載客戶端,也支援 PWA 離線快取。
支援多大的檔案?
取決於瀏覽器記憶體,通常可流暢處理數 MB 級別的資料。超大檔案建議先拆分或使用合併清理工具。