JQ 在线 Playground
更快地查询与转换数据
About JQ 在线 Playground
JQ 是一个轻量级且灵活的 JSON 命令行处理器,已成为在 shell 管道中查询和转换 JSON 数据的事实标准。这个在线游乐场通过将原生 jq C 实现编译为 WebAssembly,将 jq 的全部功能带到您的浏览器中,让您无需安装任何软件或将数据发送到服务器即可运行复杂的 JSON 查询。所有处理完全在您的本地机器上完成,确保您的敏感 JSON 数据永远不会离开您的浏览器。
使用游乐场很简单:将 JSON 输入粘贴或上传到左侧面板,在过滤器栏中输入 jq 过滤器表达式。输出面板会立即显示过滤或转换后的结果。该工具支持完整的 jq 1.7 语法,包括像 `.key`、`.[]`、`select()`、`map()`、`group_by()`、`reduce` 和自定义函数定义这样的过滤器。您可以交互式地试验,调整过滤器直到获得所需结果。
JQ 过滤器遵循类似于 Unix shell 管道的流水线模型。一个过滤器接受输入并产生零个或多个输出。最简单的过滤器是恒等过滤器 `.`,它原样输出输入。从那里您可以链式连接过滤器:`.users | map(select(.active)) | .[].name` 提取所有活跃用户的姓名。理解这种流水线比喻是掌握 jq 表达式和编写高效过滤器的关键。
性能是这个游乐场的一个关键优势。由于 jq 引擎以编译后的 WebAssembly 而不是 JavaScript 重新实现的方式运行,它在处理大型 JSON 文件时可以达到接近原生的速度。数百兆字节的文件可以在浏览器中高效查询。该工具还支持对无法完全加载到内存中的大型文件进行流式输入处理。
常见的实际用例包括从 API 响应中提取特定字段、在不同 API 模式之间转换 JSON、验证 JSON 结构、从 JSON 日志生成报告,以及在将复杂 jq 过滤器部署到生产脚本之前进行调试。这个游乐场也是任何人通过动手实验来掌握 jq 语法的优秀学习工具。
对于高级用户,游乐场支持完整的 jq 模块系统,包括使用 `include` 导入库和定义可重用函数。您还可以使用 `--arg` 标志将外部变量传递到过滤器中。输出可以格式化为常规 JSON、紧凑 JSON 或使用 `-r` 标志的原始文本,让您完全控制输出格式。
Frequently Asked Questions
我的 JSON 数据会被发送到服务器吗?
不会。jq 引擎完全通过 WebAssembly 在您的浏览器中运行。您的 JSON 数据永远不会离开您的机器,这使得该工具可以安全地处理敏感或机密信息。
这个工具支持所有 jq 功能吗?
是的。它基于官方 jq 1.7 版本构建,支持完整的语法,包括高级过滤器、自定义函数、模块和所有命令行标志。
我可以处理多大的 JSON 文件?
浏览器版本可以处理几百兆字节的文件,具体取决于您的系统内存。对于非常大的文件,该工具支持流式输入模式。
我可以保存或分享我的 jq 过滤器吗?
当前的过滤器和输入会保存在 URL 哈希中,因此您可以通过书签或分享 URL 来重现您的工作区。