JSONPath 線上測試

本地處理
app.jsonpath.view

也可透過 #data={"name":"Ada"}#url=... 灌入資料,讀完即從位址列清除。

JSONPath 用類似 $.store.book[*].title 的路徑從文件裡抽出節點。只讀查詢,不會改原文,適合從大響應裡拿列表或某個巢狀欄位。寫介面測試斷言、從日誌摳某一層陣列時,比手寫多層取值更短。

路徑提取

支援 $ 根節點、 .. 遞迴、切片和過濾。通配 [*] 可一次取出陣列裡每個元素的同名欄位。

頁面提供常用模板,可先選模板再改成自己的路徑。

除錯表示式

改一行路徑立刻看結果,比寫臨時指令碼快。表示式錯誤或沒有匹配時會明確提示。

從樹形頁複製路徑過來驗證,可以減少拼寫錯誤。

下一步

抽出的陣列可以再拿去轉 CSV 或生成型別。確認路徑無誤後再寫進測試程式碼或 jq 指令碼。

本頁不修改原文,適合只讀排查。

示例

資料
{
  "store": {
    "book": [
      { "title": "Sayings of the Century", "price": 8.95 },
      { "title": "Slightly Bad", "price": 12.99 }
    ]
  }
}
表示式與結果
$.store.book[*].title

["Sayings of the Century", "Slightly Bad"]
和 CSS 選擇器像嗎?

思路類似:用路徑描述「要哪一部分」,而不是迴圈手寫取值。

過濾怎麼寫?

常見寫法是 $..book[?(@.price<10)] 這類條件。語法以本頁引擎為準。

沒有結果是為什麼?

路徑和真實結構不一致最常見。用樹形頁核對鍵名、陣列下標,以及到底是物件還是陣列。

會改原始 JSON 嗎?

不會。只輸出匹配到的值列表。

推薦工作流

  1. 貼上完整響應,從 $ 開始寫淺路徑再逐步加深。
  2. 用模板填入常見表示式,點「執行」看匹配條數。
  3. 確認結果後,把表示式複製到測試或指令碼。
  4. 匹配到的物件陣列需要表格時,再轉到 CSV / Excel 頁。

不同庫的 JSONPath 細節略有差異。以本頁跑通的表示式為準,再對照你們語言裡的實現。