JQ

发布时间 2023-07-10 21:21:08作者: 文十七

简介

Jq 是一个强大而灵活的命令行 JSON 处理器,可以帮助您快速轻松地提取和转换 JSON 数据。Jq 是用 C 语言编写的,内存占用量非常低。

在ubuntu22.04 LT安装JQ

第 1 步。首先,通过在终端中运行以下命令,确保所有系统软件包都是最新的.

sudo apt update
sudo apt upgrade
sudo apt install wget apt-transport-https gnupg2 software-properties-common

第 2 步。在 Ubuntu 22.04 上安装JQ。

默认情况下,Jq 在 Ubuntu 22.04 基础存储库上可用。现在运行以下命令,将最新版本的 Jq 包从官方页面下载到你的 Ubuntu 系统:

sudo apt install jq

安装完成后,您可以通过在终端中运行以下命令来验证 Jq 是否已正确安装:

jq --version

在centos上安装JQ

添加epel源

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
yum repolist

安装JQ

yum install jq

使用JQ

Jq 具有广泛的命令行选项,可用于操作 JSON 数据。一些最常用的选项包括:

jq '.':此命令用于漂亮打印 JSON 数据。
jq 'keys':此命令用于从 JSON 对象中提取密钥。
jq '.[]':此命令用于从 JSON 数组中提取值。
jq 'del(.key)':此命令用于从 JSON 对象中删除键值对。

测试

存在json文件 test.json

[{"type":"cluster","namespace":"","enable":"false","used":0,"unused":2001,"total":2001,"portRange":"40000-42000","message":"annotation-prefix:; env-prefix:; port-range-msg: ","deployRecord":null,"otherRecord":null}]

点过滤器打印未更改但格式良好的 JSON,如下所示:

jq '.' test.json

输出

[
  {
    "type": "cluster",
    "namespace": "",
    "enable": "false",
    "used": 0,
    "unused": 2001,
    "total": 2001,
    "portRange": "40000-42000",
    "message": "annotation-prefix:; env-prefix:; port-range-msg: ",
    "deployRecord": null,
    "otherRecord": null
  }
]

可以检索 JSON 对象的特定字段或 JSON 数组的元素,如下所示:

jq .[0].type test.json

输出

"cluster"