JSONPath 提取欄位:從巢狀 JSON 精準取值

用 JSONPath 表示式從深層巢狀的 JSON 中提取欄位,附 $、..、[*]、過濾器等語法示例。

目錄

JSONPath 是什麼

JSONPath 類似 XML 的 XPath,用簡短表示式在 JSON 中定位資料。它以 $ 表示根,.key 取屬性,[*] 遍歷陣列,.. 遞迴查詢。

核心語法速查

$.store.book[0] 第一個元素;$.store.book[*].title 所有標題;$..price 遞迴找所有 price;$.store.book[?(@.price<10)] 過濾器取低價書。

在 ToolBox 中提取

把 JSON 貼上到左側、在表示式框輸入路徑,右側即時顯示匹配結果;表示式寫錯會提示無匹配,便於除錯介面返回的複雜結構。

常見問題

JSONPath 和 JavaScript 取值有何不同?
JSONPath 是宣告式字串表示式,便於配置與複用;直接 obj.a.b 是程式碼,二者可互相轉換。
過濾器 ?() 支援哪些運算?
常見支援 ==、!=、<、<=、>、>= 及存在性檢查 @.key 存在;複雜邏輯建議先抽取再在程式碼中處理。
為什麼我的表示式返回空?
多半是大小寫或路徑層級不對;先用 $..欄位名 遞迴查詢確認欄位確實存在。
← 返回「JSON 與資料」內容叢集