コマンドラインでjson.toolを使ってJSONファイルを整形・確認する方法

この記事では、Python標準ライブラリに含まれる`json.tool`を使用して、コマンドラインからJSONファイルを整形や確認する方法について解説します。具体的なコード例、その詳細解説、応用例を3つ含めています。

目次

json.toolとは

json.toolはPython標準ライブラリに含まれるJSONのデータを整形(pretty-print)したり、検証するためのユーティリティです。簡単なコマンドライン操作でJSONファイルやデータの確認ができるため、開発作業において非常に便利です。

基本的な使用方法

json.toolを使用する一番基本的な方法は以下です。

echo '{"key": "value"}' | python -m json.tool

このコマンドは、標準入力からJSONデータを受け取り、整形して標準出力に出力します。

オプションについて

json.toolにはいくつかのオプションがありますが、以下はよく使用されるものです。
– `–sort-keys`: キーをソートして出力
– `–indent スペース数`: インデントのスペース数を指定

コードによる実例

Pythonプログラム内でjson.toolを使いたい場合もあります。その場合は、以下のように実装できます。

import json
import sys

json_object = json.load(sys.stdin)
json.dump(json_object, sys.stdout, indent=4)

このプログラムは、標準入力からJSONデータを読み込み、整形して標準出力に出力します。

応用例

複数のJSONファイルを一括で整形

一括で複数のJSONファイルを整形するスクリプトです。

import glob
import json

# 対象となるJSONファイルのリスト
files = glob.glob('*.json')

for file in files:
    with open(file, 'r') as f:
        json_object = json.load(f)
    with open(file, 'w') as f:
        json.dump(json_object, f, indent=4)

JSONデータの値を確認

特定のキーに対応する値を確認するスクリプトです。

import json
import sys

json_object = json.load(sys.stdin)
print(json_object.get('target_key', 'キーが存在しません'))

JSONデータのフィルタリング

特定の条件に一致するデータのみを抽出するスクリプトです。

import json
import sys

json_object = json.load(sys.stdin)
filtered_object = {k: v for k, v in json_object.items() if v > 10}
json.dump(filtered_object, sys.stdout, indent=4)

まとめ

json.toolはPythonの標準ライブラリに含まれており、簡単なコマンドライン操作でJSONファイルを整形・確認できます。また、Pythonプログラム内での使用例や、複数の応用例も紹介しました。これを機に、json.toolを活用して効率的な開発を進めてみてはいかがでしょうか。

コメント

コメントする

目次