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 存在;複雜邏輯建議先抽取再在代碼中處理。
- 為什麼我的表達式返回空?
- 多半是大小寫或路徑層級不對;先用 $..字段名 遞歸查找確認字段確實存在。