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 生态和相关参考文章作了一个大纲式的综述,欢迎大家阅读。
相关推荐
qiqiqi(^_×)12 分钟前
解决linux‘打开readme.md文件pycharm闪退’问题
linux·运维·pycharm
睿麒25 分钟前
鸿蒙app开发中 拿到json文件数据进行动画的播放
json
Akshsjsjenjd2 小时前
Nginx反向代理与负载均衡全解析
运维·nginx·负载均衡
Voyager_43 小时前
Linux服务器NAS挂载:Truenas
linux·运维·服务器
liujing102329293 小时前
Day01_Linux移植基础
linux·运维·服务器
桥边驿语人4 小时前
Docker 容器无法访问外网的问题排查与解决指南
运维·docker·容器
ZStack开发者社区4 小时前
ZStack Cloud v5.4.0 LTS让运维自动驾驶,让合规开箱即用
运维·云计算
叶凡要飞4 小时前
linux安装google chrome 谷歌浏览器
linux·运维·chrome
专注VB编程开发20年5 小时前
vb.net编写DDE(Dynamic Data Exchange)服务器
运维·服务器·github·vb.net·dde
chaofan9806 小时前
如何用 Claude Code 搭建安全、可测、可自动化的 GitHub CI 流程?
运维·人工智能·ci/cd·ai·自动化·github·claude