查找工具

↑↓ 选择 Enter 打开

不知道工具名称时,可输入“格式化”或“计数”等任务词。

如何筛选 JSON 数组并导出指定字段?

发布与核对日期 · 作者 KitLumi Engineering

粘贴 JSON 并输入 JMESPath 表达式,即可筛选和转换数据。查询在可取消的浏览器 Worker 中执行,输入最多 2 MiB,单次处理超过 30 秒会停止。结果可复制或下载,输入不会上传。

打开免费工具 →

具体怎么操作?

  1. 粘贴 JSON,或打开不超过 2 MiB 的本地 JSON 文件。
  2. 输入 users[?age >= `18`].name 等 JMESPath 表达式,点击“运行”。
  3. 核对结果后复制或下载。更改输入或表达式后,需要重新运行。

提取成年用户的姓名

筛选年龄至少为 18 的用户,然后仅返回姓名字段。

输入:
{"users":[{"name":"Ada","age":32},{"name":"Linus","age":17}]}
表达式:users[?age >= `18`].name

输出:
[
  "Ada"
]

什么时候适合使用?

选取字段和转换结构时使用本工具;查看语法时使用 JSON 格式化;比较完整文档时使用 JSON Diff。需要保留数字原始文本时,请保留原文件。

结果有哪些边界?

使用 JMESPath Community 语法,不执行任意 JavaScript,也不是 JSONPath。JSON 数字采用 JavaScript 普通精度,超大 ID 应保留为字符串。表达式无法请求远程地址。

遇到问题怎么办?

问题处理方法
结果为 null。对应路径不存在,或值本身就是 null。 检查字段拼写和实际结构;null 也可能是正常查询结果。
表达式语法错误。混用了 JavaScript、JSONPath 和 JMESPath 语法。 JSON 字面量使用反引号,特殊字段名使用双引号;按 JMESPath 教程检查表达式。

常见问题

需要上传内容或注册账号吗?

不需要。处理在当前浏览器中完成;本站只提供页面和所需静态引擎资源。

为什么修改输入后结果消失?

工具会清除旧输出,避免把上次结果误当成新结果。更改输入或设置后,请重新运行。

参考资料

首次发布:根据当前工具界面核对步骤,补充示例和已知限制。

JSON 查询与筛选 →