Pythonのsimplejsonを使用しJSONデータをファイルに書き込み、読み取りを行います。
今回はsimplejsonを用います。このライブラリ・モジュールはPythonの標準ライブラリではありませんので、事前にインストールする必要があります。
■今回の環境(Python)
今回のPythonはバージョン3.8.5を用いる。(Mac OS)
■simplejsonを使用しJSONデータをファイルに書き込み、読み取り
では、早速simplejsonを使用してJSONデータをエンコードしてファイルに書き込み、それをデコードして読み取るスクリプトを書いていきます。
■コード
import simplejson as json # JSONデータのエンコードとファイルへの書き込み data = { "name": "田中テスト権三郎", "age": 30, "city": "大阪" } with open("data.json", "w") as file: json.dump(data, file,ensure_ascii=False) # JSONデータのファイルからの読み取りとデコード with open("data.json", "r") as file: loaded_data = json.load(file) # 読み取ったデータの表示 print(loaded_data)
まずは「import simplejson as json」でsimplejsonモジュールをjsonという名前でインポートします。次にdataという変数に、エンコードするためのデータを定義します。今回は”name”キーに”田中テスト権三郎”、”age”キーに30、”city”キーに”大阪”という値を持つ辞書オブジェクトを使用します。
次に「with open(“data.json”, “w”) as file:」と記述し、”data.json”という名前のファイルを書き込みモード(”w”)で開きます。このファイルにJSONデータを書き込みます。open()関数は、ファイルオブジェクトを返します。
その後、「json.dump(data, file, ensure_ascii=False)」と記述し、json.dump()関数を使用して、dataをJSON形式にエンコードし、ファイルに書き込みます。ensure_ascii=Falseとすることで、日本語文字をそのままの形式で書き込むことができます。
次に「with open(“data.json”, “r”) as file:」と記述し、”data.json”ファイルを読み取りモードで開きます。ファイルからJSONデータを読み取ります。
読み取った後に「loaded_data = json.load(file):」と記述し、json.load()関数を使用して、ファイルから読み取ったJSONデータをデコードし、loaded_data変数に格納します。
最後に「print(loaded_data)」でデコードされたデータ(loaded_data変数)を表示します。
■実行・検証
このスクリプトを「j_data.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、ターミナルから実行してみます。
simplejsonを使用してJSONデータをエンコードしてファイルに書き込み、それをデコードして読み取り、読み取ったデータを表示させることができました。
なお、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)内には「data.json」というJSON形式のファイルが生成されていることも確認できました。
コメント