この記事では、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を活用して効率的な開発を進めてみてはいかがでしょうか。
コメント