Repolode
jqlang

jqlang/jq

一款轻量的命令行 JSON 处理工具,用可移植 C 编写,无运行时依赖,可对 JSON 数据进行切片、过滤、映射和转换。

Star
36,047
Fork
3,067
未关闭 Issue
419
最近提交
5天前

这是什么?

jq 的作用类似于处理 JSON 数据的 sed、awk 或 grep。你可以把 JSON 通过管道输入,用过滤表达式选取字段、重组对象或计算新值,结果输出到标准输出。

它使用可移植的 C 语言编写,没有运行时依赖,可以作为单个独立可执行文件安装。发布页提供 macOS 和 Linux 的预编译二进制文件,也提供 Docker 镜像。从源码构建需要 libtool、make、automake 和 autoconf,同时支持静态链接与交叉编译。

项目还提供在线试用环境 play.jqlang.org,可以在放入脚本之前先测试过滤表达式。

核心功能

  • 01通过过滤表达式语言对 JSON 进行选择、过滤、映射和转换。
  • 02以独立可执行文件运行,无运行时依赖。
  • 03使用可移植 C 编写,支持静态构建与交叉编译。
  • 04提供 macOS 和 Linux 预编译二进制文件及 Docker 镜像。
  • 05提供在线试用环境,便于测试过滤表达式。

适用场景

  • 在 shell 脚本中从 package.json 等文件里提取版本号等字段。
  • 在存储或展示前,把 API 响应重组为另一种结构。
  • 在命令行中过滤大型 JSON 日志或导出数据。
  • 在 Docker 或 CI 流水线中执行 JSON 转换,无需安装额外运行时。

快速上手

  1. 1

    从发布页面下载预编译二进制文件

  2. 2

    将下载的文件重命名为 jq 后设为可执行

    chmod +x jq
  3. 3

    或者使用 Docker 处理 package.json 文件

    docker run --rm -i -v "$PWD:$PWD" -w "$PWD" ghcr.io/jqlang/jq:latest '.version' package.json

收录于专题

标签

常见问题

jq 是什么?
一款轻量的命令行 JSON 处理工具,用可移植 C 编写,无运行时依赖,可对 JSON 数据进行切片、过滤、映射和转换。 jq 的作用类似于处理 JSON 数据的 sed、awk 或 grep。你可以把 JSON 通过管道输入,用过滤表达式选取字段、重组对象或计算新值,结果输出到标准输出。
jq 可以免费使用吗?用的什么许可证?
jq 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
jq 还在维护吗?
活跃维护中。jq 最近一次提交是在 2026年11月2日。
jq 适合用来做什么?
在 shell 脚本中从 package.json 等文件里提取版本号等字段。 在存储或展示前,把 API 响应重组为另一种结构。 在命令行中过滤大型 JSON 日志或导出数据。 在 Docker 或 CI 流水线中执行 JSON 转换,无需安装额外运行时。
jq 怎么安装和运行?
从发布页面下载预编译二进制文件 将下载的文件重命名为 jq 后设为可执行: chmod +x jq 或者使用 Docker 处理 package.json 文件: docker run --rm -i -v "$PWD:$PWD" -w "$PWD" ghcr.io/jqlang/jq:latest '.version' package.json
在哪里获取 jq?
源代码和安装说明在 GitHub 上:https://github.com/jqlang/jq

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目

类似 jq 的命令行工具与查询语言,用于查看和查询二进制文件格式,内置多种格式解码器。

开发者工具#binary#cli#jq
1.1万+4 本周257GoOther更新于 前天