JSON 与数据处理指南

JSONPath 数组筛选:查出需要的记录

通过价格过滤和字段选择,理解数组查询、缺失路径与 null 的区别。

Nav Tools ·

先定位根节点

美元符号表示文档根节点,通配符选择子节点,具名片段选择对象的属性。

先用两个不同价格的记录验证路径,再换成实际结构,避免把嵌套层级错误当成过滤问题。

{"items":[{"sku":"A","price":9},{"sku":"B","price":15}]}
$.items[*].sku → ["A","B"]

先筛选再取字段

过滤条件逐个检查候选元素,@ 表示当前元素,price 从当前对象读取。

下面只选出 A;响应如果在外面包了一层 data,应修改路径层级而非价格条件。

$.items[?(@.price < 10)].sku → ["A"]

缺失不等于 null

不存在的属性不会为查询贡献节点,值为 null 的属性仍然存在。

结果为空可能是路径错误、记录未满足条件或字段缺失,用树形视图检查一个候选对象即可区分。

确认实现方言

RFC 9535 定义标准 JSONPath,库也可能提供扩展;本站使用 JSONPath Plus,通过测试不代表所有后端都兼容。

把查询和样例一起保存,迁移前检查空数组、缺失字段、嵌套数组,并在目标库中复测。

参考资料

← JSON 与数据处理指南