ホームページ >システムチュートリアル >Linux >LinuxでのJQコマンドの使用例

LinuxでのJQコマンドの使用例

PHPz
PHPz転載
2024-02-10 21:12:12540ブラウズ

JSON は、アプリケーションの異なるレイヤー間でデータを保存および転送するために使用されるデータ表現形式であり、データをキーと値のペアで保存します。この記事では、JQ コマンドを使用してシェルで JSON データを操作および処理する方法を学習します。

JQコマンドのインストール方法

次のコマンドを使用して、jq を Centos8 にインストールします:

リーリー #########文法###### Linux 中的 JQ 命令使用实例 JQ コマンドはシステムに正常にインストールされたので、使用を開始できます。その前に、JQ コマンドの構文を見てみましょう。

リーリー JQ コマンドはさまざまな方法で使用できます。JSON ファイルに対して直接使用することも、他のいくつかのコマンドと組み合わせて JSON データを解釈することもできます。 JQ コマンドを「.」、「|」、「,」、または「.[]」フィルターなどのさまざまなフィルターとともに使用して、JSON データを整理できます。

JQ コマンドは、-tab、-stream、-indent n、-unbuffered、-L ディレクトリ オプションなどのさまざまなオプションを引数として受け取ります。 JQ コマンドの構文は最初は複雑に思えるかもしれませんが、記事全体を読むと慣れるでしょう。

JQ コマンドを使用して JSON データを整理する方法

JQ コマンド フィルターの最も単純で最もよく使用される機能。これらは、標準出力に出力するときに JSON データを整理し、美しくするために使用されます。

この例では、employee.json という名前の JSON ファイルがあり、データを標準出力に出力する必要があります。 リーリー cat コマンドを使用してデータを表示できます:

リーリー

cat コマンドを使用して標準出力に出力されるデータは整理されておらず、わかりにくいです。 JQ コマンドと「.」を使用してこのデータを整理し、

.

を使用してフィルタリングできます:

リーリー

Linux 中的 JQ 命令使用实例データはより整理され、カラフルになり、理解しやすくなりました。このフィルタは、API からデータにアクセスする場合に特に必要です。API に保存されているデータは非常に整理されておらず、混乱を招く可能性があります。

JQ コマンドを使用してプロパティにアクセスする方法

Linux 中的 JQ 命令使用实例

.Fields

フィルターと JQ コマンドを使用して、シェル内のオブジェクト プロパティにアクセスできます。 1 つのプロパティのみにアクセスして標準出力に出力したい場合は、

.field

演算子を使用できます。たとえば、ワーカーのプロパティにアクセスするには、次のコマンドを使用できます: リーリー

.field 演算子を使用して、属性に存在する項目にアクセスすることもできます。ワーカー属性の名前項目にアクセスするには、次を使用します: リーリー

Linux 中的 JQ 命令使用实例

JQ コマンドを使用して配列項目にアクセスする方法

Linux 中的 JQ 命令使用实例.[]

演算子を使用して、JSON ファイルの配列に存在する要素にアクセスして出力することもできます。この例では、JSON ファイルを変更して以下を追加します: リーリー employee.json ファイルを確認します:

[root@localhost ~]# cat employee.json 
[{"name": "John Brooks","id": "003"},{"name": "Randy Park","id": "053"},{"name": "Todd Gray","id": "009"}]
Linux 中的 JQ 命令使用实例

要输出 JSON 文件中存在的所有数组,我们将运行以下命令:

[root@localhost ~]# jq '.[]' employee.json 
{
  "name": "John Brooks",
  "id": "003"
}
{
  "name": "Randy Park",
  "id": "053"
}
{
  "name": "Todd Gray",
  "id": "009"
}
Linux 中的 JQ 命令使用实例

要仅输出第二个数组,我们可以通过以下方式修改上述命令:

[root@localhost ~]# jq '.[1]' employee.json 
{
  "name": "Randy Park",
  "id": "053"
}
Linux 中的 JQ 命令使用实例

请记住,数组从索引 0 开始的。

我们还可以使用 .字段 运算符访问数组中存在的属性。例如,如果我们想访问第三个数组中的 name 属性,那么我们将运行以下命令:

[root@localhost ~]# jq '.[2].name' employee.json 
"Todd Gray"
Linux 中的 JQ 命令使用实例

类似地,要访问数组中的所有名称属性,我们可以执行以下命令:

[root@localhost ~]# jq '.[].name' employee.json 
"John Brooks"
"Randy Park"
"Todd Gray"
Linux 中的 JQ 命令使用实例

总 结

JQ 命令用于将 JSON 数据转换为更易读的格式并将其打印到 Linux 上的标准输出。JQ 命令是围绕过滤器构建的,过滤器用于从 JSON 文件中仅查找和打印所需的数据。

以上がLinuxでのJQコマンドの使用例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlxlinux.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。