x-cmd pkg | jq - 命令行 JSON 处理器

目录

简介

jq 是轻量级的 JSON 处理工具,由 Stephen Dolan 于 2012 年使用 C 语言开发。

它的功能极为强大,语法简洁,可以灵活高效地完成从 JSON 数据中提取特定字段、过滤和排序数据、执行复杂的转换和计算等一系列任务。

首次用户

  1. 使用 x jq 即可自动下载并使用

    • 在终端运行 eval "$(curl https://get.x-cmd.com)" 即可完成 x 命令安装, 详情参考 x-cmd 官网
  2. x-cmd 提供1分钟教程,其中包含了 jq 命令常用功能的 demo 示例,可以帮你快速上手 jq 。

  3. 使用案例:

    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")'
    • 网页版快速试用
    • 官方的快速体验教程:该案例以 GitHub API JSON 返回的数据为处理对象,从中提取感兴趣的数据,并最终构造一个新的 JSON 结果。这个例子的可操作性很强,初始用户可以一试。

功能特点

  1. 高效: jq 使用 C 语言开发的,并加入了不少优化,在处理大型 JSON 数据时非常高效。

  2. 流式语言:jq 使用的语法种优雅的流式处理语言,其用法灵活,内置不少实用函数和运算符,可以进行字符串、数值和日期等数据类型的处理,也能胜任 JSON,CSV,TSV 的转换工作。

类似工具

  1. yq:一个 YAML 处理工具。该工具采用 Go 语言编写,设计参考 jq,支持 xpath 表达式,能处理 YAML、JSON、XML、CSV、TOML 等多种格式的数据。

  2. dasel:一个支持众多格式(JSON,CSV,YAML,XML)的命令行方案,我们认为其功能稍逊于 jq,但胜在简单易用,能胜任大多数场景。

进一步探索

  • jq 源代码 - jq 项目的源代码托管在 GitHub,你可以在这里找到最新版本的 jq 和参与社区贡献。
  • jq 综述 - x-cmd 团队对 jq 生态和相关参考文章作了一个大纲式的综述,欢迎大家阅读。
相关推荐
SkyWalking中文站20 小时前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控
雪梨酱QAQ1 天前
Kubeneters HA Cluster部署
运维
江华森1 天前
Spring Cloud 微服务全栈实战:从 Eureka 到 Docker Compose 一文贯通
运维
江华森1 天前
Matplotlib 数据绘图基础入门
运维
江华森1 天前
NumPy 数值计算基础入门
运维
Venuslite3 天前
从 Unexpected token < 到 Extra data:一次讲清 JSON 解析错误的排查思路
json
乘云数字DATABUFF5 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
荣--7 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森7 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜8 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https