【JSON】JSON形式データのソート方法について(「jq」ライブラリ)

今回は、「jq」ライブラリを使用したJSON(JavaScript Object Notation)形式データをソートする方法を紹介します。

「jq」ライブラリは、JSON形式のデータをさまざまな形式に変換することができるライブラリです。使用する場合は、ダウンロードした実行形式ファイルを実行することで処理できます。

「jq」ライブラリの公式サイトには、次になります。

Redirecting to jqlang.github.io
スポンサーリンク

検証環境

検証に使用した環境/ライブラリを次に記載します。

  • OS
    • バージョン:Windows 10
    • OSビルド:19043.1083
  • jq
    • バージョン:1.6(Windows版:64bit)

インストール方法

「jq」ライブラリの公式サイトから、実行形式のファイルをダウンロードします。ダウンロードは、次のサイトから実施してください。

Redirecting to jqlang.github.io

OS別に実行形式ファイルがあります。今回は、Windows環境で実行するためのファイルをダウンロードします。検証したときにダウンロードしてきたファイル名は、「jq-win64.exe」になります。

使用方法

「jq」ライブラリは、コマンドプロンプトから実行します。ソートするための実行方法の例は、次のようなになります。

$ jq-win64.exe --sort-keys

オプションに「--sort-keys」を指定することでソートすることができるようになります。

文字列を指定して実行する

文字列を指定してソートするための実行方法は、次のようになります。

$ jq-win64.exe [options] --args <jq filter> [strings...]

実行例は、次のようになります。

$ jq-win64.exe --sort-keys . 
{
    "one": "1",
    "two": "2",
    "three": "3",
    "four": "4"
}

「--sort-keys」のあとの「.」は、必ず指定するようにしてください。

出力例は、次のようになります。

{
  "four": "4",
  "one": "1",
  "three": "3",
  "two": "2"
}

オブジェクトのキー情報を使用してソートされていることを確認できました。

ファイルを指定して実行する

ファイル名を指定してソートするための実行方法は、次のようになります。

$ jq-win64.exe [options] <jq filter> [file...]

実行例で使用するためのファイル内容は、次のようになります。

{
    "one": "1",
    "two": "2",
    "three": "3",
    "four": "4"
}

実行例は、次のようになります。

$ jq-win64.exe --sort-keys . example.json

「--sort-keys」のあとの「.」は、必ず指定するようにしてください。

出力例は、次のようになります。

{
  "four": "4",
  "one": "1",
  "three": "3",
  "two": "2"
}

オブジェクトのキー情報を使用してソートされていることを確認できました。

まとめ

「jq」ライブラリを使用してJSON形式データをソートして出力する方法を紹介しました。

参考資料

「jq」ライブラリの公式サイト

Redirecting to jqlang.github.io