目录
简介
jq 是轻量级的 JSON 处理工具,由 Stephen Dolan 于 2012 年使用 C 语言开发。
它的功能极为强大,语法简洁,可以灵活高效地完成从 JSON 数据中提取特定字段、过滤和排序数据、执行复杂的转换和计算等一系列任务。
首次用户
-
使用
x jq
即可自动下载并使用 -
x-cmd 提供1分钟教程,其中包含了 jq 命令常用功能的 demo 示例,可以帮你快速上手 jq 。
-
使用案例:
bash# 格式化输出 JSON 数据 x jq '.' ascii.json x ascii --json | x jq '.' # 从 JSON 中提取数组中第一元素,并以紧凑方式输出 x ascii --json | x jq -c '.[1]' # 从 JSON 数据中获取 "Description" 属性的值 x ascii --json | x jq '.[1].Description' # 以原始字符串的形式输出 x ascii --json | x jq -r '.[1].Description' # 修改 JSON 中的 "Description" 属性的值 x ascii --json | x jq '.[1].Description="x-cmd"|.[1]' # 计算数组的长度 x ascii --json | x jq '.| length' # 检测 JSON 中是否含有 "Acronym" 属性 x ascii --json | x jq '.[1]|has("Acronym")'
功能特点
-
高效: jq 使用 C 语言开发的,并加入了不少优化,在处理大型 JSON 数据时非常高效。
-
流式语言:jq 使用的语法种优雅的流式处理语言,其用法灵活,内置不少实用函数和运算符,可以进行字符串、数值和日期等数据类型的处理,也能胜任 JSON,CSV,TSV 的转换工作。
类似工具
-
yq:一个 YAML 处理工具。该工具采用 Go 语言编写,设计参考 jq,支持 xpath 表达式,能处理 YAML、JSON、XML、CSV、TOML 等多种格式的数据。
-
dasel:一个支持众多格式(JSON,CSV,YAML,XML)的命令行方案,我们认为其功能稍逊于 jq,但胜在简单易用,能胜任大多数场景。