JMESPath 测试

粘贴 JSON 并输入 JMESPath 风格表达式(如 items[0].name 或 items.*),查看投影结果。AWS CLI、Azure 与许多云 API 使用 JMESPath 过滤输出。

阅读完整指南: GraphQL 与 JSONPath:响应调试与字段提取 →

隐私提示:本地解析,不上传服务器。

↓ 在下方输入区粘贴内容,结果会立即显示

在 JSON 上测试 JMESPath 风格表达式; 支持 field、index 与 * 通配。

JMESPath 表达式

JSON 输入

粘贴要查询的 JSON 文档。

查询结果

"a"

注释说明

说明

支持 items[0].name、items.* 等常用子集; 复杂投影函数请用完整 JMESPath 库。本地处理。

粘贴 JSON 并输入 JMESPath 风格表达式(如 items[0].name 或 items.*),查看投影结果。AWS CLI、Azure 与许多云 API 使用 JMESPath 过滤输出。

快速开始

  1. 输入表达式

    field、field[0]、* 通配。

  2. 粘贴 JSON

    与 AWS CLI --query 类似的子集。

  3. 复制结果

    用于脚本或文档。

JMESPath 用途

从大型 JSON 响应中抽取字段、列表或嵌套值; 与 JSONPath 语法不同,按云厂商文档选择。

典型工作流

使用 JMESPath 测试工具时,典型流程分三步:首先粘贴原始 JSON 数据(如 AWS CLI 输出),然后输入查询表达式(如 `Reservations[*].Instances[*].InstanceId` 获取所有 EC2 实例 ID),最后实时查看过滤后的结果。这种交互方式特别适合调试复杂嵌套数据的提取逻辑。

进阶用法包括结合管道符(`|`)进行多步处理,例如先筛选再排序:`sort_by(Instances, &State.Name)[*].InstanceId`。工具支持自动格式化输出,对于包含大量数组的云 API 响应(如列出 100 个 S3 桶),能快速验证表达式准确性。

示例

示例

Input

items[0].name on {"items":[{"name":"a"}]}

Output

"a"

FAQ

与 JSONPath 有何不同?

语法与函数集不同; AWS/Azure 多用 JMESPath,前端/Node 生态常见 JSONPath。

本地处理吗?

是,JSON 不会离开浏览器。

为什么我的 JMESPath 表达式返回空结果?

常见原因有三:1) JSON 结构与表达式路径不匹配(用 `@` 符号检查原始数据);2) 过滤器条件过于严格(如 `[?State=='running']` 但实例均未运行);3) 未处理嵌套数组(需要 `[*]` 展开操作)。建议从简单表达式开始逐步构建。