Pythonでpython-rapidjsonモジュールを使用しJSONデータの読み書きを行ってみます。
今回はpython-rapidjsonを用います。このライブラリ・モジュールはPythonの標準ライブラリではありませんので事前にインストールする必要があります。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows11)
■arrowとdataclasses-jsonを用いて現在の日時を取得しJSON形式に変換する
では、早速arrowとdataclasses-jsonを用いて現在の日時を取得しJSON形式に変換(シリアライズ)するスクリプトを書いていきます。
■コード
import rapidjson # JSONデータの作成 data = { "name": "田中 テスト勇也", "age": 30, "city": "宮城" } # JSONデータの書き込み json_string = rapidjson.dumps(data) with open("data.json", "w") as file: file.write(json_string) # JSONデータの読み込み with open("data.json", "r") as file: json_string = file.read() loaded_data = rapidjson.loads(json_string) # 読み込んだデータの表示 print(loaded_data)
まずはrapidjsonモジュールをインポートします。これによりrapidjson関数やクラスを使用できるようになります。
次にJSONデータの作成を行います。今回はdataという名前の辞書オブジェクトを作成します。このオブジェクトは、キーと値のペアで構成されています。今回はname、age、cityというキーを持ち、それぞれに対応する値を仮で設定しています。
設定後、JSONデータの書き込みを行います。rapidjson.dumps()関数を使用して、PythonオブジェクトをJSON文字列に変換します。`data`オブジェクトを引数として渡し、json_string変数に変換結果が格納されます。その後、open(“data.json”, “w”)を使用して、ファイルを書き込みモードで開きます。ファイル名はdata.jsonです。open()関数はwith文と組み合わせて使用され、ブロック内でのファイルの操作が完了すると自動的に閉じられます。そして、file.write(json_string)`を使用しjson_stringの内容をファイルに書き込みます。
書き込み後、JSONデータの読み込みを行います。open(“data.json”, “r”)`を使用して、ファイルを読み込みモードで開きます。さらにfile.read()を使用して、ファイルの内容を文字列として読み込み、json_string変数に格納します。
その後、JSONデータのデコード(読み込み)を行います。rapidjson.loads()関数を使用して、JSON文字列をPythonオブジェクトに変換します。json_stringを引数、パラメータとして渡し、loaded_data変数に変換結果が格納されます。
格納後、読み込んだデータの表示します。print(loaded_data)を使用して、loaded_dataの内容を表示します。
■検証・実行
今回書いたスクリプトを「r_json.py」という名前でPythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。
実行してみると、python-rapidjsonモジュールを使用しJSONデータの書き込みを行い、「data.json」のjson形式のファイルが生成され、生成されたファイルからJSONデータの読み込みを行い、データを表示させることができました。今回のデータは日本語が含まれていましたが、日本語であっても表示させることができました。
コメント