JSONPath 是 JSON 的查询语言,类似于 XML 的 XPath。它让您快速高效地从复杂 JSON 结构中提取特定值。
基本 JSONPath 语法
给定以下 JSON:
{
"store": {
"books": [
{ "title": "JSON 指南", "price": 29.99 },
{ "title": "API 设计", "price": 39.99 },
{ "title": "Web 安全", "price": 19.99 }
],
"location": "北京"
}
}
常用 JSONPath 表达式:
$.store.books[0].title — 第一本书的标题$.store.books[*].price — 所有书的价格$.store.books[?(@.price < 30)] — 价格低于 30 的书$.store.books[?(@.price > 20)].title — 价格超过 20 的书的标题$.store.. — store 下的所有内容核心运算符
实际应用场景
JavaScript 中的 JSONPath
// 使用 JSONPath Plus 库
const jp = require('jsonpath-plus');
const result = jp.JSONPath({path: '$.store.books[?(@.price < 30)]', json: data});
复杂查询技巧
.. 查找深层嵌套值&&(与)和 ||(或)组合过滤器