JSONはJavaScript Object Notationの略称で、Webアプリケーションでデータをやりとりするために広く用いられています。PythonではJSONを扱う標準ライブラリが用意されており、JSONを読み込む方法を覚えることで、Webアプリケーション開発に必要不可欠なスキルを身に付けることができます。
PythonでJSONを読み込む基本的な方法
PythonでJSONを読み込むためには、jsonライブラリを使用します。jsonライブラリには、JSON形式のデータをPythonオブジェクトに変換するloads()関数と、PythonオブジェクトをJSON形式に変換するdumps()関数があります。まずは、JSON形式のデータをPythonオブジェクトに変換する方法を見ていきましょう。
import json # JSON形式の文字列 json_str = '{"name": "Alice", "age": 20}' # JSON形式の文字列をPythonオブジェクトに変換 data = json.loads(json_str) print(data)
上記のコードでは、JSON形式の文字列をPythonオブジェクトに変換しています。loads()関数を使用することで、JSON形式の文字列をPythonの辞書型に変換することができます。変換されたPythonオブジェクトをprint()関数で表示することで、JSON形式のデータがPythonオブジェクトに変換されたことを確認できます。
JSONの配列をPythonで読み込む方法
JSONには、配列と呼ばれる複数のデータを格納する構造があります。PythonでJSONの配列を読み込むには、json.loads()関数を使用して、JSON形式の文字列をPythonのリスト型に変換します。
# JSON形式の配列 json_str = '[{"name": "Alice", "age": 20}, {"name": "Bob", "age": 30}]' # JSON形式の配列をPythonのリスト型に変換 data = json.loads(json_str) print(data)
上記のコードでは、JSON形式の配列をPythonのリスト型に変換しています。loads()関数を使用することで、JSON形式の配列をPythonのリスト型に変換することができます。変換されたPythonオブジェクトをprint()関数で表示することで、JSON形式の配列がPythonのリスト型に変換されたことを確認できます。
JSONのネストされたデータをPythonで読み込む方法
JSONには、オブジェクトの中に別のオブジェクトがネストされた構造があります。PythonでJSONのネストされたデータを読み込むには、json.loads()関数を使用して、JSON形式の文字列をPythonの辞書型に変換します。
# JSON形式のネストされたデータ json_str = '{"name": "Alice", "age": 20, "address": {"prefecture": "Tokyo", "city": "Chiyoda"}}' # JSON形式のネストされたデータをPythonの辞書型に変換 data = json.loads(json_str) print(data)
上記のコードでは、JSON形式のネストされたデータをPythonの辞書型に変換しています。loads()関数を使用することで、JSON形式のネストされたデータをPythonの辞書型に変換することができます。変換されたPythonオブジェクトをprint()関数で表示することで、JSON形式のネストされたデータがPythonの辞書型に変換されたことを確認できます。
PythonでJSONをループ処理する方法
JSONには、配列やオブジェクトの中に複数のデータが含まれるため、PythonでJSONをループ処理することがあります。PythonでJSONをループ処理するには、for文を使用します。
# JSON形式の配列 json_str = '[{"name": "Alice", "age": 20}, {"name": "Bob", "age": 30}]' # JSON形式の配列をPythonのリスト型に変換 data = json.loads(json_str) # ループ処理で各データを表示 for d in data: print(d['name'], d['age'])
上記のコードでは、JSON形式の配列をPythonのリスト型に変換し、for文を使用して各データを表示しています。ループ処理でJSONのデータを加工することができます。
JSONをPythonの文字列として読み込む方法
JSONは、Webアプリケーションでデータをやりとりするために広く用いられています。PythonでJSONを文字列として読み込むには、json.loads()関数を使用します。
# JSON形式の文字列 json_str = '{"name": "Alice", "age": 20}' # JSON形式の文字列をPythonの文字列として読み込む s = json.loads(json_str) print(s)
上記のコードでは、JSON形式の文字列をPythonの文字列として読み込んでいます。loads()関数を使用することで、JSON形式の文字列をPythonの文字列として読み込むことができます。変換されたPythonオブジェクトをprint()関数で表示することで、JSON形式の文字列がPythonの文字列として読み込まれたことを確認できます。
PythonでJSONの読み込み時のエラーハンドリング
JSONを読み込む際には、JSON形式のデータが不正である場合にエラーが発生することがあります。PythonでJSONの読み込み時のエラーハンドリングを行うには、try-except文を使用します。
# 不正なJSON形式の文字列 json_str = '{"name": "Alice", "age": 20,}' try: # JSON形式の文字列をPythonオブジェクトに変換 data = json.loads(json_str) except json.JSONDecodeError as e: print('JSONDecodeError:', e)
上記のコードでは、不正なJSON形式の文字列をPythonオブジェクトに変換しようとしています。try-except文を使用して、JSONDecodeErrorが発生した場合にはエラーメッセージを表示するようにしています。
まとめ
PythonでJSONを読み込む方法について紹介しました。JSON形式のデータをPythonオブジェクトに変換する方法、JSONの配列をPythonで読み込む方法、JSONのネストされたデータをPythonで読み込む方法、PythonでJSONをループ処理する方法、JSONをPythonの文字列として読み込む方法、PythonでJSONの読み込み時のエラーハンドリングについて学びました。これらの方法を覚えることで、Webアプリケーション開発に必要不可欠なスキルを身に付けることができます。